Fork me on GitHub

MAC下php环境的搭建

  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;

mysql

可以看到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

参考资料

1.howto MAMP

轻轻的我走了,正如我轻轻的来