参考文章:在Mac OS X中配置Apache+PHP+MySQL
机器环境是Mac OS X 10.7.5
原文机器环境是10.7.2
我的实测结果在下方用不同字体注明。
1、Apache
先启用Apache试试。
打开System Preferences -> Sharing , 在Web Sharing前打勾,既可启动Apache。
或者是通过命令行启动
1
|
sudo apachectl start
|
然后在浏览器中打开 http://localhost 试试。
注:我用命令行执行的无法打开,执行localhost不能显示It Works!在系统设置==>共享里面,在Web Sharing前打钩可以启动Apache。
2、PHP
启用PHP。
打开Terminal,用你喜欢的编辑工具打开/etc/apache2/httpd.conf 比如:
1
|
vi/etc/apache2/httpd.conf
|
把LoadModule php5_module libexec/apache2/libphp5.so的注释就是“#”去掉,然后保存退出。
创建php.ini
1
|
sudo cp/etc/php.ini.default /etc/php.ini
|
然后打开php.ini,修改这一行:
1
|
date.timezone =
|
把注释也就是“;”去掉,然后加入你的时区( http://php.net/manual/en/timezones.php )
例如:
1
|
date.timezone =Asia/Shanghai
|
最后重启一下apache就OK了。
在System Preferences 里,把Web Sharing关闭再打开。或者:
1
|
sudo apachectl restart
|
注:要修改php.ini需要先修改权限,然后可以使用查找找到data.timezone,毕竟这个文档太长了。Vi查找,在vi的命令模式下输入/向下查找,?向上查找,回车确认。
3、MySQL
从 http://dev.mysql.com/downloads/mysql/ 下载MySQL安装包。Lion系统应该默认是64位的了,所以下载64位的版本。
可以到http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.6/下载dmg直接安装。双击下载下来的dmg文件,安装程序汇总会有
mysql, the startup item, the preference pane,依次安装即可。
然后在system preferences面启动MySQL。
这时候,你在命令行中输入mysql,是没有此命令的。
接着我们需要手动把MySQL的bin文件加入到环境变量里。
1
|
sudovim/etc/paths
|
将 /usr/local/mysql/bin 添加到里面去, 一行一个路径。
即便添加成功,未必运行成功,所以可能还是需要加上权限。
1
|
sudochmod+x/etc/paths
|
注:在此步需要把终端关闭,再打开,以使环境变量生效。
然后在命令行中敲入:
1
|
mysql
|
看能不能连接成功。
如果没问题的话,就初始化一下MySQL,加下密码什么的安全措施。
1
|
mysql_secure_installation
|
依你所需要的配置就好。
另外还需要在php.ini中配置一下mysql.sock的位置,否则在php只能用127.0.0.1来连mysql,localhost的话会找不到mysql。
在php.ini找到mysql.default_socket ,加上sock位置:
1
|
mysql.default_socket =/tmp/mysql.sock
|
然后再重启一下apache。
注:这里也需要Vi的查找功能。
在这里被卡了几个小时,因为后面安装Wordpress连接数据库的时候一直失败。
把Mysql卸载又重装之后,发现不能初始化了。还好,重装后密码默认置空,后面就可以把root密码改了,想修改密码是在终端运行 mysqladmin -u root password “mysqlpassword” ,其中mysqlpassword即root的密码。
4、Extra
开启了Apache就是开启了“Web共享”,用户就可以通过“http://[本地IP]/”来访问“/Library(资源库) /WebServer/Documents/”目录,通过“http://[本地IP]/~[用户名]”来访问“/Users/[用户名]/Sites /”目录。
我不太喜欢把网站文件放倒/Library(资源库) /WebServer/Documents/ 这么深的地方,也不喜欢输入浏览器地址的时候,还得加上“~[用户名]”,这么个麻烦的路径。所以我修改了一下httpd.conf,把根目录指向/Users/[用户名]/Sites /,满足我们的需要。
1
|
sudovi/etc/apache2/httpd.conf
|
把
1
|
DocumentRoot”/Library/WebServer/Documents”
|
修改成
1
|
DocumentRoot”/Users/[用户名]/Sites”
|
把
1
|
<Directory”/Library/WebServer/Documents”>
|
修改成
1
|
<Directory”/Users/[用户名]/Sites”>
|
这样就可以把根目录指向我们需要的位置。
然后我们还需要开启一下rewrite功能。
首先确认httpd.conf中应该启用了mod_rewrite。Lion系统应该默认启用的。
1
|
LoadModule rewrite_module modules/mod_rewrite.so
|
在/etc/apache2/httpd.conf文件找到
1
2
3
4
|
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
|
把AllowOverride None改成AllowOverride All
接着修改/etc/apache2/users/[用户名].conf
注意:
必须保证Apache已配置成支持.htaccess文件的模式。通常这可以通过在httpd.conf中将
AllowOverride None
改成
AllowOverride All
来实现。更详细的设置方法可以在Apache发行文档中找到。如果没有正确配置mod_rewrite及.htaccess,那么除了本教程的首页外你将不能看到任何其它的页面。(详细请参考:《Mac下php常见错误信息》)
报如下错误:
1
2
3
4
5
|
Not Found
The requested URL /article/show/id/e3cf1138-b12a-11e1-a625-18d8f1322421 was not found on this server.
Apache/2.2.21 (Unix) DAV/2 PHP/5.3.10 with Suhosin-Patch Server at php_cms Port 80
|
nnd,这个可是气死我了,本来是再win下面开发的。运行的好好的 ,一段时间后我做Mac开发,结果报错,我那个郁闷……
1
|
sudovi/etc/apache2/users/[用户名].conf
|
把其中的AllowOverride None也改成AllowOverride All
一切OK了,就重启一下apache,看能否正常工作。
下一步是装个wordpress测试一下。
Enjoy it!