故障现象
SimpleTest在Mac OS X系统上上传任何文件时不会结束,涉及的系统有Leopard和其他版本。
问题描述
在Mac OS上似乎cURL被破坏了,cURL的版本在10.5.7OS应该是cURL7.16.3.
解决方法
一个解决方法是在源重新编译cURL和PHP。不过最简单和最易管理的方法是用MacPorts安装开发环境。你可以在不同的端口并行运行两个环境,设置不同的运行时间或者完全取代Apache+PHP安装。
如果已经安装了MacPorts,这个过程需要20到30分钟时间。如果是第一次安装MacPorts,则根据你的计算机的速度,也许要1个小时。
首先,安装MacPorts.
用SSL更新cURL:
sudo port install curl +ssl
安装 Apache 2:
sudo port install apache2
安装PHP 5
sudo port install php5 +apache2 +mysql5 +pear
配置Apache
sudo cp /opt/local/etc/php5/php.ini-dist /opt/local/etc/php5/php.ini sudo cp /opt/local/apache2/conf/httpd.conf.sample /opt/local/apache2/conf/httpd.conf
激活PHP 5模块
cd /opt/local/apache2/modules sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
你也许需要在httpd.conf文件中在<IfModule mime_module>区块下添加如下几行:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
你也可能要在区块下添加index.php。
完成Apache配置。 运行和停止Apache
Apache将由launchd管理. 用如下命令启动Apache:
sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
这样机器重启的是时候Apache会自动启动
停止apach用如下命令:
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.apache2.plist
即使自动启动也会停止Apache。