在亚马逊EC2上加载错误的PHP.ini值


Wrong PHP.ini value is being loaded on Amazon EC2

我使用amazon EC2实例。我有一个问题与PHP上传目录&我在error_log上得到了这个消息:

[Mon May 27 21:25:26 2013] [error] [client xxx.96.169.198] Can't find a temporary directory: Internal error  [500, #20014]
[Mon May 27 21:26:13 2013] [error] [client xxx.96.169.198] The state report gatherer could not be created.  [500, #20014]

所以我想通过尝试将"upload_tmp_dir"设置为php.ini文件上的"/opt/phptmp/"来修复它。(这个目录是存在的,我已经把它chmod为777)

我已经搜索了所有的php.ini文件

[mybox@mybox /]# find -name php.ini
./etc/php.ini

只有1。

我编辑了upload_tmp_dir值并上传了修改后的php.ini,停止httpd并启动它。

但它似乎仍然没有工作。我得到了额外的问题,这是写在PHP. ini上的APC配置不能被PHP正确加载。例如,在php.ini中,您可以看到我设置了"apc. ini"。shm_size = 512M但是当您访问APC信息页面(APC .php)时,SHM大小只有32M。

(这里是我的php.ini中的一些行)

[APC]
apc.enabled = 1
apc.shm_size = 512M
apc.slam_defense = 0
apc.stat=0
apc.enable_cli = 1
apc.user_entries_hint = 16384

从PHP Info结果来看,似乎加载的PHP .ini是正确的

Loaded Configuration File ----- /etc/php.ini

谁有建议如何解决这个问题?

感谢您的宝贵时间。

这个错误看起来不像php错误。这是由您的web服务器抛出的。检查你的(nginx?)配置

关于APC,您可能有一个额外的文件/etc/php.d/apc.ini,它覆盖php.ini配置

问题是我没有可用的磁盘空间,所以当我用winscp上传php.ini时,文件大小为0。这就是APC值被错误读取的原因。这也解决了临时目录的问题。我所做的是删除一些未使用的日志文件。