PHP脚本在Lion上通过Ajax运行时会回显自己的内容
PHP script echoes its own content when run via Ajax on Lion
我遇到了一个奇怪的问题,我想知道你是否能帮我找出我犯的明显错误。
我有一个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和老式的longhand方法来运行ajax。同样的问题。(我已经确定jquery实际上正在加载。)
-
我没有在我的php脚本中使用短代码"<?"
- php文件与html和javascript文件位于同一目录中。权限与Snow Leopard计算机上的权限相同,在该计算机上一切正常
我试过在谷歌上搜索这个,但我被难住了。有什么建议吗?谢谢
问题似乎是我的Lion机器上安装了php 5.3.1。当我更新到php5.4时,它又开始工作了。
要更新到php5.4,我遵循了以下说明:http://php-osx.liip.ch/感谢您的帮助,Stackoverflow!
- php是否已正确启用和配置
编辑您的/etc/apache2/httpd.conf
并确保行:LoadModule php5_module libexec/apache2/libphp5.so
存在,然后重新启动Apache:sudo apachectl restart
- 是否正在加载正确/预期的
php.ini
在Lion升级时,php.ini
文件将重命名为/etc/php.ini-5.2-previous
,并放置了一个新的示例PHP配置文件/etc/php.ini.default
因此,您可能需要重新配置php.ini文件 - 以前在
/usr/lib/php/extensions/.../
下安装的扩展已被删除
因此,如果您有希望在5.3中继续使用的扩展,则需要重新构建它们 - 现在可以加载一个包含
<?php phpinfo();?>
的phpinfo.php文件了吗 - 现在,如果您使用mySQL指令(以及其他本地指令),请检查phpinfo
- 苹果已经包含了Suhosin补丁和扩展
Suhosin是硬化PHP项目的一部分,该项目旨在保护PHP应用程序免受缓冲区溢出和格式字符串漏洞的影响。将Suhosin的特性列表与您的php脚本进行比较 - 可能会使用不推荐使用的php语句(在旧版本的php中有效)
现在有效吗?
相关文章:
- 未捕获的运行时JavaScript异常(Rhino)
- 管理node.js中的运行时错误
- 如何在C#MVC/Javascript中的运行时添加一个空实体
- 如何在Javascript中的运行时确定页面URL
- 在php中的运行时添加文本字段
- JavaScript 访问对象属性的运行时复杂度 O(?) 是多少?
- 创建可重复使用的运行时计算的样式表样式
- 如何在JavaScript中返回以毫秒为单位的运行时持续时间
- 如何在MVC中的运行时循环中动态创建IFrame
- 检查字符串数组中的回文的运行时
- Chrome扩展驻留样式表的运行时修改
- IE显示innerHTML的运行时错误
- 在node.js中的运行时启用和谐代理
- 属性未在javascript类的运行时设置
- 在html页面的运行时,用javascript解析挂起的外部资源
- 处理Javascript中的运行时错误
- grunt-contrib- requires不能解析我的运行时模块注入
- 当特性有自己的样式时,选择不使用的交互样式
- v8中的运行时函数
- 获取“未检查的运行时”.运行management.uninstall时出现错误