我正在将我的网站移动到新的cPanel linux服务器,这里是新旧服务器的比较:
新服务器: php版本:5.6.25(Zend:2.6.0) 数据库:MySQL 5.5.52-cll 服务器操作系统:Linux 2.6.18-502.el5.lve0.8.85
旧服务器:(据我所知) php版本:5.2.36 数据库:MySQL 5.3.1
大多数代码运行得很好。但是一个档案让我拉出我的头发。这是诀窍:
该功能用于在设置操作后通过URL更新产品数据,假设我点击了"更新"输入表格区域后的按钮。
对于一些具有较少属性的产品,代码输出较短的URL,如下所示,该功能可以完美地更新数据库:
BUT:
对于某些具有更多属性的产品,代码输出的URL更长,如下所示,该功能根本不起作用:
我的想法是php.ini / apache / mysql可能有一些设置,甚至是限制URL长度的浏览器,或者其他我甚至不知道的东西。
任何想法都将受到赞赏。
海马
问题解决了。它是指令" suhosin.get.max_vars"的设置。太小,无法在URL中传递太多参数。将值从200加倍到400,它恢复正常。 - 海马11月7日2:36
答案 0 :(得分:2)
事实上的限制是2000个字符。话虽如此,是否有可能改变它?是。你应该改变吗?不,因为即使您设置了更高的限制,一些最受欢迎的网络浏览器也有自己的限制,使您的应用程序不易访问。
由于您所做的是更新,我建议您使用POST请求而不是GET,然后使用全局变量$ _POST从请求中获取属性。