我不能让我的服务器服从php.ini的设置(我试图改变memory_limit和upload_max_filesize )。 据我所知,我正在编辑正确的文件。 phpinfo()给出:
Loaded Configuration File /etc/php.ini
文件权限是644 。 /etc/php.d还有一些额外的.ini文件,但是没有包含任何我想改变的密钥。 无论我做什么, phpinfo都会在“本地”和“主”列中报告默认值。
我也扫描了我的Apacheconfiguration文件,但没有发现任何与PHP相关的内容(除了加载PHP模块)。 我能够改变这些设置的唯一方法是通过添加一些php_value行到我的.htaccess 。
有什么明显的我失踪?
这是一个虚拟服务器,我可以用sudo执行root命令。 我正在运行Apache 2.1.3和PHP 5.3.3。 系统信息(来自uname -a )是:
Linux sesctbapp01 2.6.18-308.1.1.el5 #1 SMP Wed Mar 7 04:16:51 EST 2012 x86_64
在你的web服务器上写一个名为test.php的文件:
<? phpinfo(); ?>
然后在浏览器中打开它
有一个部分
Directive Local Value Master Value
在那里你可以看到所有variables的值和它们的设置:Local Value意味着在.htaccess中或者在php脚本中设置ini_set()
也可以尝试http://php.net/manual/de/function.ini-get-all.php来找出variables内容的来源。
我曾经有一个愚蠢的错误,我试图将upload_max_filesize设置为200M:我在php.ini中写了“200MB”,但它必须只是“200M”PHP将不正确的值“200MB”解释为0.也许这有助于
在terminal运行php -i ,它会标记你的php.ini中是否有语法错误。 这样的错误使Apache不能安静地parsing(忽略)指令。