【问题标题】:PHP script runs on local wamp, but errors on lamp set up on EC2PHP 脚本在本地 wamp 上运行,但在 EC2 上设置灯时出错
【发布时间】:2013-02-01 07:14:08
【问题描述】:

我有一个 php 类,它试图设置一个私有静态变量。它适用于我的本地 wamp,但是当我将它上传到 EC2 实例时,它会运行一次,然后访问未声明的静态属性时出现致命错误。该类是一个 Amazon SimpleDb 助手,我从 http://webmasterinresidence.ca/simpledb/displayincludes.php 得到它。起初它是在第 100 行调用未定义函数,所以我将其更改为在构造函数中设置 self::$__accessKey,现在是发生错误的行。有什么想法可能导致这种情况吗?

【问题讨论】:

  • 您能否给我们错误消息,您的 EC2 帐户打印的整个错误消息。
  • 致命错误:访问未声明的静态属性:SimpleDB::$__accessKey in /opt/bitnami/apache2/htdocs/html/classes/sdb.php 在第 114 行,行号将关闭 I尝试更改课程以查看它我可以修复它。

标签: php amazon-ec2 wamp lamp


【解决方案1】:

因为它第一次工作,然后在随后的尝试中失败,您的 EC2 服务器上是否有 APC 而不是您的 WAMP 服务器?有/曾经有a bug 导致在后续尝试中无法识别静态变量。

(在提出这个答案之前我会问更多问题,但我还不能发表评论!)

【讨论】:

  • 它不在我的 WAMP 上。我使用了这个 AMI link。我不认为它上面有 APC。
  • 它似乎包含在该堆栈中,但不清楚它是否默认激活。您可以通过查看php.ini, or by creating a php_info.php 文件来判断它是否处于活动状态。在您查看时,如果 APC 不是您的问题,比较您的工作服务器和新服务器的 php 版本或 php.ini 中的任何差异会很有用。
  • 是更新版本的php,APC开启。除此之外,唯一的区别是调试关闭。停用 APC 有什么危害吗?
  • 值得禁用它以查看是否可以解决您的问题。确保在更改 php.ini 后重新启动 Apache 以查看效果。 APC is a caching module 允许 PHP 在某些情况下更快地执行。禁用它不应该破坏任何东西。
  • 我很高兴它有帮助。接受答案?
猜你喜欢
  • 2014-11-29
  • 1970-01-01
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
  • 2019-10-04
  • 2017-09-30
  • 1970-01-01
相关资源
最近更新 更多