我在客户端服务器上安装vtiger6。我无法访问php.ini文件。我试图通过我的index.php文件更改一些php.ini设置,一些设置工作正常
ini_set('max_execution_time', 600);
ini_set('log_errors','off');
但我无法设置以下
ini_set('error_reporting','E_WARNING ^ E_NOTICE ^ E_DEPRECATED');
ini_set('allow_call_time_pass_reference','1');
我也需要改变以下内容我也不知道这是否正确
ini_set('max_file_uploads',300);
ini_set('memory_limit','240M');
ini_set('max_input_time ',600);
任何帮助将不胜感激。
答案 0 :(得分:3)
使用函数error_reporting设置error_reporting。通过php.net手册
http://www.php.net/manual/en/function.error-reporting.php
for allow_call_time_pass_reference可以在php.ini,httpd.conf中设置条目
您可以在服务器上的目录中创建一个php.ini文件并在那里存储设置。
答案 1 :(得分:1)
error_reporting没有的原因是,您将其值设置为以下字符串。 'E_WARNING ^ E_NOTICE ^ E_DEPRECATED'
。但它不应该是一个字符串。 E_ *值是PHP常量,应该在引号之外使用,如:
ini_set('error_reporting',E_WARNING ^ E_NOTICE ^ E_DEPRECATED);
此外,您在这些常量之间使用二进制XOR(^),这是不寻常的。对于生产环境的建议值,建议单独使用E_ALL
进行调试。如果您想要除E_DEPRECATED
以外的所有错误,可以使用E_ALL & ~E_DEPRECATED
使用ini_set
无法更改某些PHP设置。您可以检查PHP documentation哪些变量允许在文件级别进行设置。例如,max_file_uploads
只能从php.ini(documentation)
答案 2 :(得分:0)
使用error_reporting而不是ini_set之类的 error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
在根文件夹中存在的.htaccess文件中使用它 php_value post_max_size 30M php_value upload_max_filesize 30M
应该有效
答案 3 :(得分:0)
并非所有php.ini中的配置都可以在运行时使用ini_set()
进行更改。您只能在php.ini中设置allow_call_time_pass_reference
,max_file_uploads
,memory_limit
和max_input_time
。
但是,如果您想显示错误,则必须同时使用ini_set('display_errors')
和ERROR_REPORTING(E_ALL)
ini_set('display_errors', '1');
ERROR_REPORTING(E_ALL);
参考文献: