跳转到主要内容
gokookie 提交于 1 May 2012

故障现象

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.

*参见更多的 verbose指令集[off-site]

用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。