你如何在Mac OS X上运行php?

AJA*_*AJA 52 php macos osx-lion

我最近更新到Lion并在系统偏好设置中启用了Web共享,但我无法让php工作.

我将一个信息文件添加到Web根目录,并将文件作为文本输出.

info.php
with the content
<?php phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)

Mat*_*son 106

(编辑:这种方法似乎适用于10.9(小牛队),10.10(约塞米蒂)和10.11(埃尔卡皮坦),所以我想我会提到任何新的大量沮丧的OS X更新者:D)

编辑/etc/apache2/httpd.conf并确保该行:

LoadModule php5_module libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)

......存在.我认为默认情况下它在标准的OS X配置中被注释掉,但是从我记忆中,你只需要取消注释它,然后重新启动Apache:

sudo apachectl restart
Run Code Online (Sandbox Code Playgroud)

你应该好好去.


Nee*_*joh 26

更新:请注意,这是为OS X pre-(High)Sierra编写的.如果你运行OSX 10.12或更新版本,请遵循这个以上安迪米勒的优秀指南:macOS 10.13 High Sierra Apache Setup:多个PHP版本


我也喜欢使用基本已存在的东西.当Mac OS X默认带有apache和PHP时,我不明白为什么有人会使用MAMP或AMPPS(或任何其他打包的第三方开箱即用的网络服务器应用程序).

我做了几次试图让它工作,所以这里基本上是为我做了什么,希望它能帮助你们节省一点时间.

就像Matt Gibson所说,启动终端并输入:( sudo需要你的root密码)

sudo nano /etc/apache2/httpd.conf
Run Code Online (Sandbox Code Playgroud)

然后通过删除前面的"#"取消注释该行(ctrl + v可以用作向下翻页)

LoadModule php5_module libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)

要确保您可以在PHP中包含文件等,请滚动到"User _www"(在我的情况下)并将其更改为:(其中"yourusername"是您登录的用户)

User yourusername
Run Code Online (Sandbox Code Playgroud)

默认情况下,您可以在新的OS X Mountain Lion安装中将组保持原样"Group _www".

在默认的apache上只查找index.html,因此搜索"DirectoryIndex index.html"并将其更改为:(当然在末尾添加index.html是可选的)

DirectoryIndex index.php index.html index.htm
Run Code Online (Sandbox Code Playgroud)

按ctrl + x退出并保存(并用"y"确认)

然后重启apache:

sudo apachectl restart
Run Code Online (Sandbox Code Playgroud)

我的phpinfo(); 返回PHP版本5.3.15

==================

由于我发现在我的用户目录中拥有本地站点很有用,因此我创建了一个目录/ Users/yourusername/Sites(在Mountain Lion中不再存在默认值).

再次,通过"sudo nano /etc/apache2/httpd.conf"编辑httpd.conf并...

向下滚动到"Doc​​umentRoot"并将其更改为:(其中"yourusername"是您登录的用户名)

DocumentRoot "/Users/yourusername/Sites/"
Run Code Online (Sandbox Code Playgroud)

滚动到它所说的"#这应该更改为你设置DocumentRoot的任何内容." 并将下一行更改为:(其中"yourusername"是您登录的用户名)

<Directory "/Users/yourusername/Sites/">
Run Code Online (Sandbox Code Playgroud)

然后按ctrl + x退出并保存(并用"y"确认)

重启apache.