我最近买了一台 Apple iMac。不幸的是,启用 Apache 和 PHP 出现了一些问题。
我通过“系统偏好设置”启用了 Mac 的内置 Web 共享,此时我得到了输出,并且可以将 HTML 文件添加到我的用户目录中。但是,PHP 文件被显示而不是被解释。然后我发现这是因为 Mac 的 Apache 设置中默认未启用 PHP。
经过 Google 快速搜索后,我偶然发现了这个页面:http://developer.apple.com/mac/articles/internet/phpeasyway.html
我继续讲到这一部分,在 Apache 中启用 PHP,将以下代码片段复制并粘贴到新的终端窗口中,然后按回车键:
set admin_email to (do shell script "defaults read AddressBookMe ExistingEmailAddress")
user_www=$HOME/Sites
filename=php-test
user_index=${user_www}/${filename}.php
user_db=${user_www}/${filename}-db.sqlite3
# NOTE: Having a writeable database in your home directory can be a security risk!
conf=`apachectl -V | awk -F= '/SERVER_CONFIG/ {print \$2}'| sed 's/"//g'`
conf_old=$conf.$$
conf_new=/tmp/php_conf.new
touch $user_db
chmod a+r $user_index
chmod a+w $user_db
chmod a+w $user_www
echo "Enabling PHP in $conf ..."
sed '/#LoadModule php5_module/s/#LoadModule/LoadModule/' $conf | sed
"s^[email protected]^<b>\$admin_email</b>^" > $conf_new
echo "(Re)Starting Apache ..."
osascript <<EOF
do shell script "/bin/mv -f $conf $conf_old; /bin/mv $conf_new $conf;
/usr/sbin/apachectl restart" with administrator privileges
EOF
不幸的是,这已经完全抛弃了 Apache,现在什么都没有提供;相反,我收到“无法打开页面”错误,因为它无法连接到服务器,尽管“系统偏好设置”中的“Web 共享”仍然处于活动状态。
因此,我想我的问题是:如何撤消通过复制粘贴上述代码片段所做的更改?诚然,我不明白上面的代码做了什么;我只是认为它看起来像一个终端命令并尝试了它。我没有在 Mac OS X 上设置 Apache 的经验(而且我只在 Windows 上安装了 XAMPP 和 WampServer)。
因此,任何有关逆转上述情况然后成功启用 PHP 的要点都会很有用。
编辑:我发现,通过控制台,当尝试浏览 127.0.0.1 时会记录以下错误消息...
(org.apache.httpd) Throttling respawn: Will start in 10 seconds
no listening sockets available, shutting down
Unable to open logs
(org.apache.httpd[13453]) Exited with exit code: 1
这是否进一步指出了这个问题?
编辑#2:我现在在控制台中得到这个......
15/02/2010 21:24:14 osascript[3597] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found. Did find:
/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper
答案1
根据链接文章中的说明(看起来像是针对 Snow Leopard Server),似乎已经创建了配置文件的备份副本。
在 /etc/apache2/ 中查找 httpd.conf.old 文件,将其复制到 /etc/apache2/ 作为 httpd.conf
选择简单的方法,只需在配置文件中启用 php 即可。-
删除行前面的哈希:LoadModule php5_module
重新启动 apache 并查看其运行情况。
答案2
我建议你使用 Apache 和 PHP麦金塔。设置起来可能需要一些时间,但从长远来看,它将更容易定制和维护。
答案3
我猜你的这台机器不会是生产服务器。所以如果你不想争论配置,你可以安装移动应用平台。这是一个“预制”网络服务器,包括 Apache、PHP 和 MySql。这是一个快速功能网络服务器的好方法,它应该能满足您的要求!
答案4
我强烈建议使用 virtualbox 在 Mac 上设置虚拟生产环境,而不是破坏桌面安装。尝试设置本机 Mac AMP 堆栈、MAMP 安装程序和虚拟化 LAMP 堆栈后,一旦掌握了窍门,虚拟化 LAMP 堆栈无疑是最省心的。另一个好处是,您可以根据需要随时打开或关闭开发环境,并且可以轻松地在机器之间传输它。这是在 ubuntu 桌面上设置虚拟 ubuntu 服务器的良好指南,只需进行一些调整即可在 OS X 桌面上设置虚拟 ubuntu 服务器。
http://kevin.vanzonneveld.net/techblog/article/how_virtualization_will_improve_your_code/