|
最近重装系统,Mac下原有的PHP开放环境需要重新配置,因为之前没有记录,所以在网上到处搜参考资料,重新配置花了我不少功夫。
虽然Max下有XAMPP这样的一站式开发环境部署包。不过系统内部既然有现成的Apache和PHP,所以就好好利用这一点了。
机器环境是Mac OS X 10.7.2
1、Apache
先启用Apache试试。
打开System Preferences -> Sharing , 在Web Sharing前打勾,既可启动Apache。
或者是通过命令行启动
? 然后在浏览器中打开 http://localhost 试试。
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,修改这一行:
? 把注释也就是“;”去掉,然后加入你的时区( http://php.net/manual/en/timezones.php )
例如:
?
1 |
date.timezone =Asia/Shanghai | 最后重启一下apache就OK了。
在System Preferences 里,把Web Sharing关闭再打开。或者:
? 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文件加入到环境变量里。
? 将 /usr/local/mysql/bin 添加到里面去, 一行一个路径。
即便添加成功,未必运行成功,所以可能还是需要加上权限。
?
1 |
sudo chmod +x /etc/paths | 然后在命令行中敲入:
? 看能不能连接成功。
如果没问题的话,就初始化一下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。
4、Extra
开启了Apache就是开启了“Web共享”,用户就可以通过“http://[本地IP]/”来访问“/Library(资源库) /WebServer/Documents/”目录,通过“http://[本地IP]/~[用户名]”来访问“/Users/[用户名]/Sites /”目录。
我不太喜欢把网站文件放倒/Library(资源库) /WebServer/Documents/ 这么深的地方,也不喜欢输入浏览器地址的时候,还得加上“~[用户名]”,这么个麻烦的路径。所以我修改了一下httpd.conf,把根目录指向/Users/[用户名]/Sites /,满足我们的需要。
?
1 |
sudo vi /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 |
sudo vi /etc/apache2/users/[用户名].conf | 把其中的AllowOverride None也改成AllowOverride All
一切OK了,就重启一下apache,看能否正常工作。
然后装个wordpress测试一下。
Enjoy it!摘自(有改动):http://hearrain.com/2011/10/553 |
|
|