【问题标题】:Wrong PHP.ini value is being loaded on Amazon EC2在 Amazon EC2 上加载了错误的 PHP.ini 值
【发布时间】:2013-05-30 15:20:02
【问题描述】:

我使用亚马逊 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]

所以我想通过尝试将 php.ini 文件上的“upload_tmp_dir”设置为“/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.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有权限访问吗?
  • 如果您提到“/opt/phptmp/”,是的,它存在并且我已将其更改为 777。感谢您的评论。
  • 您是否偶然在 fcgi 配置中运行 php?还是作为 apache 模块?

标签: php apache amazon-ec2


【解决方案1】:

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

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

【讨论】:

  • 我只有 1 个 php.ini。但我已经解决了我的问题。感谢您的宝贵时间。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    相关资源
    最近更新 更多