我有一个MacBook Pro的i5。
我的理解是,默认情况下,它应该能够为php5服务。
我已经取消了/etc/apache2/httpd.conf中的相关行
LoadModule php5_module libexec/apache2/libphp5.so
我已经重新启动Apache
sudo apachectl -k restart
当我尝试访问一个php扩展名的文件,Apache提示我下载该文件。 即而不是处理PHP和发送我的HTML,它认为我想下载文件….
当我看着阿帕奇错误日志,我看到这一点
Apache / 2.2.14(Unix)PHP / 5.3.2 mod_ssl / 2.2.14 OpenSSL / 0.9.8l DAV / 2 mod_wsgi / 3.2 Python / 2.6.1configuration – – 恢复正常的操作
所以它看起来像php5加载正常。
我想知道:
我该如何解决?
要么
我如何重新安装apache2,使它就像我刚刚安装的操作系统?
提前致谢
更新 @Zayne – 我的httpd.conf结束了
Include /private/etc/apache2/other/*.conf
我有一个文件/etc/apache2/other/php.conf的内容
<IfModule php5_module> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> </IfModule>
@Zayne我已经将php.ini.default复制到php.ini文件夹中。 当我跑步
sudo apachectl configtest
我明白了
/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName Syntax OK
此外我决定尝试
apachectl -M
它显示所有加载的模块最重要的是在我得到的加载模块列表中
Loaded Modules: php5_module (shared)
由于该模块正在加载,似乎这个问题有更多的关于做使用PHP引擎来处理PHP文件….所以错误的ifmodule指令?
全新的Macbook,干净的安装,我做到了:
sudo cp /etc/php.ini.default /etc/php.ini
并取消注释/etc/apache2/httpd.conf中的行:
LoadModule php5_module libexec/apache2/libphp5.so
然后跑:
sudo apachectl restart
它的工作。
您需要让apache知道如何处理.php扩展名文件。 所以configs应该包含类似于以下内容的行:
<IfModule mod_php5.c> AddType application/x-httpd-php .php .phtml .php3 AddType application/x-httpd-php-source .phps </IfModule>
取消注释/添加必要的,并让我们知道如果这不能解决它。
UPDATE
不再有一个Mac来testing,所以做了一些阅读,似乎下面的行动都是必要的,以启用雪豹的PHP和apache2:
apachectl configtest检查apacheconfiguration 不知道你是否已经尝试了最后两个 – 你可以试试看,让我们知道这是否有帮助?
我知道这是有点长之后,被问到,但我刚刚悬挂我的AMP堆栈,并禁用默认的Apache这种方式我不会乱搞系统的默认版本