4

我有什么对我来说是一个奇怪的问题,我想知道你是否可以帮助我找出我正在犯的可耻的明显错误。

我有一个 javascript 应用程序,它通过 ajax 运行一堆 php 脚本,所有这些脚本都在我的 Mac 上本地运行,使用内置的 apache 服务器。它已经工作了多年,但是在我的新 Lion Mac 上,php 脚本不再返回他们应该阅读的文件。他们返回 php 脚本本身。

如果我从命令行运行 php 脚本,它们可以正常工作。如果我直接从命令行运行它们,它们就可以正常工作。它们在 Snow Leopard 计算机上从 Ajax 运行良好。如果 Ajax 在我的 Lion Mac 上运行它们,它们将不起作用。

我尝试过的事情:

  • 我已经调整了 httpd.conf 以便加载 php 模块,并且我已经重新启动了我的 Mac。

  • Apache 肯定在运行:127.0.0.1/~myname/ 得到“它可以工作”的消息。

  • 我曾尝试使用 jquery 并使用老式的手写方式运行 ajax。同样的问题。(我已经确定 jquery 实际上正在加载。)

  • 我没有使用短代码“<?” 在我的 php 脚本中

  • php 文件与 html 和 javascript 文件位于同一目录中。权限与雪豹电脑上的权限相同,一切正常

我试过上下搜索这个,但我很难过。有什么建议么?谢谢!

4

2 回答 2

1

问题似乎是我的 Lion 机器上安装了 php 5.3.1。当我更新到 php5.4 时,它又开始工作了。

要更新到 php5.4,我按照此处的说明进行操作:http://php-osx.liip.ch/感谢您的帮助,Stackoverflow!

于 2012-08-22T17:29:25.397 回答
0
  • php 是否启用和配置正确?
    编辑您的/etc/apache2/httpd.conf并确保该行:LoadModule php5_module libexec/apache2/libphp5.so存在,然后重新启动 Apache:sudo apachectl restart
  • php.ini是否加载了正确/预期的内容?
    在 Lion-upgrade 上,php.ini文件将被重命名,/etc/php.ini-5.2-previous并且一个新的示例 PHP 配置文件/etc/php.ini.default就位!!!
    因此,您可能想要重新配置您的 php.ini 文件。
  • 之前安装的扩展/usr/lib/php/extensions/.../已被删除。
    因此,如果您希望在 5.3 中仍使用扩展,则需要重新构建它们。
  • 您现在可以加载包含<?php phpinfo();?>.
  • 如果你使用它,现在检查 phpinfo 中的 mySQL 指令(和其他本地指令)。
  • Apple 已包含 Suhosin 补丁和扩展。
    Suhosin 是Hardened-PHP 项目的一部分,该项目旨在保护 PHP 应用程序免受缓冲区溢出和格式字符串漏洞的影响。将 Suhosin 的功能列表与您的 php 脚本进行比较。
  • 是否可能使用了已弃用的 php 语句(在旧版本的 php 中有效)?

它现在有效吗?

于 2012-08-17T18:38:06.747 回答