如何在php文件中更改php.ini设置

时间:2014-03-27 06:37:40

标签: php php-ini

我在客户端服务器上安装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);

任何帮助将不胜感激。

4 个答案:

答案 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_referencemax_file_uploadsmemory_limitmax_input_time

但是,如果您想显示错误,则必须同时使用ini_set('display_errors')ERROR_REPORTING(E_ALL)

ini_set('display_errors', '1');
ERROR_REPORTING(E_ALL);

参考文献:

相关问题