MAMP 这个名字来源于 Macintosh Apache MySQL PHP,显然专门用来在 Mac环境下搭建Apache、MySQL、PHP平台。OSX中已经预装了Apache和PHP环境,但是启用、配置并安装整合MySQL仍然是一件极其复杂的工作。
MAC下默认PHP环境
开启apache, 默认根目录/Library/WebServer/Documents
sudo apachectl start #启动apache
/usr/sbin/httpd -D FOREGROUND #可以查看启动失败的原因
测试是否成功:http://localhost/,出现“It works!”,表示启用成功!
配置apache支持http://localhost/~username/访问
LoadModule php5_module libexec/apache2/libphp5.so #支持php
LoadModule rewrite_module libexec/apache2/mod_rewrite.so #支持rewrite模式
LoadModule userdir_module libexec/apache2/mod_userdir.so #启用userdir
编辑/etc/apache2/extra/httpd-userdir.conf,默认是Sites(即/Users/username/Sites)文件夹,开启:
/etc/apache2/extra/httpd-userdir.conf
在/etc/apache2/users/文件夹下新建文件:username.conf,并添加内容:
<Directory "/Users/*/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
如上述操作之后,可以进行测试。
利用macports重新安装PHP环境
安装macports,可以在官网下载
安装mysql
sudo port search mysql #查看mysql,选择需要的版本
sudo port install mysql #安装mysql
利用which mysql
可以查看到位于/opt/local/lib/mysql55/bin下,进入此目录下:
./mysqld_safe #启动mysqld的服务器
./mysql_install_db #初始化mysql数据库
初始化之后,注意查看/opt/local/var/db/mysql/目录下创建的数据库的用户和用户组,一般情况下处理成:
sudo chown -R _mysql:_mysql /opt/local/var/db/mysql/
mysql设置开机启动:
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql-server.plist
ps aux | grep mysql或者sudo launchctl list | grep mysql #查看是否启用
mysql取消开机启动:
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql-server.plist
启用成功之后,利用status关键词查看sock文件:
mysql> status;
可以看到sock文件:/opt/local/var/run/mysql55/mysqld.sock
修改php.ini文件,使用php可以连接mysql:
pdo_mysql.default_socket= /opt/local/var/run/mysql55/mysqld.sock
mysql.default_socket = /opt/local/var/run/mysql55/mysqld.sock
mysqli.default_socket = /opt/local/var/run/mysql55/mysqld.sock
或者查看mysql的配置文件mysql_config
利用which mysql,可以查看到位于/opt/local/lib/mysql55/bin下,进入此目录下,即:
/opt/local/lib/mysql55/bin/mysql_config
$ echo $(/opt/local/lib/mysql55/bin/mysql_config --socket)
$ /opt/local/var/run/mysql55/mysqld.sock
安装PHP、Apache
$ sudo port install php56 php56-curl php56-gd php56-mysqli
php56-mbstring php56-mcrypt php56-imagic php56-apache2handler
如果是首次安装,需要启用php56-apache2handler
$ cd /opt/local/apache2/modules
$ sudo /opt/local/apache2/bin/apxs -a -e -n php5 mod_php56.so
启用成功返回的信息:
[activating module `php5' in /opt/local/apache2/conf/httpd.conf]
检查确认是否引用mod_php56.so
# Load the PHP module
LoadModule php5_module modules/mod_php56.so
配置httpd.conf
编辑/opt/local/apache2/conf/httpd.conf,DirectoryIndex添加index.php
DirectoryIndex index.php index.html
在httpd.conf的尾部,可以看到如下的部分,打开文件之后可以看到AddType的配置
# Include PHP configurations
Include conf/extra/mod_php56.conf
参考资料