[关闭]
@phper 2015-04-17T12:15:41.000000Z 字数 3339 阅读 7299

mac下的php环境搭建

mac


php

我买的时候已经安装好来php 5.5.14版本,就不折腾安装了。说下配置文件吧。

php的各种命令php php-config php-fpm phpize都被安装在/usr/bin/目录下:

  1. /usr/bin/php -i
  2. /usr/bin/php -m
  3. /usr/bin/php-fpm
  4. /usr/bin/phpize

默认运行不带php.ini也是可以运行的,但是,我们还是需要它。
拷贝一份到/etc/php.ini

  1. sudo cp /etc/php.ini.default /etc/php.ini
  2. sudo chmod 777 php.ini #777权限

这样php的配置文件就是/etc/php.ini

php-fpm的使用

默认是没有配置文件的,我们复制一份:

sudo cp /etc/php-fpm.conf.default php-fpm.conf
sudo chmod 777 php-fpm.conf #777权限

然后配置一下这个配置文件,修改错误日志文件和pid的目录

sudo vi /etc/php-fpm.conf #sudo

error_log = /usr/local/var/log/php-fpm.log
pid = /usr/local/var/run/php-fpm.pid

php-fpm 启动:

php-fpm

php-fpm 关闭:

kill -INT `cat /usr/local/var/run/php-fpm.pid`

php-fpm 重启:

kill -USR2 `cat /usr/local/var/run/php-fpm.pid`

apache

默认的也是有安装apache2.4.9,同样也不安装了,直接用吧。

它的各种命令在/usr/sbin/apachectl

  1. 开启apache: sudo /usr/sbin/apachectl start
  2. 停止apache: sudo /usr/sbin/apachectl stop
  3. 重启apache: sudo /usr/sbin/apachectl restart

它的配置文件在/etc/apache2/httpd.conf

在这个配置文件里面,我们可以修改它的web目录,支持php,打开rewrite等;

  1. #加载php
  2. LoadModule rewrite_module libexec/apache2/mod_rewrite.so
  3. LoadModule php5_module libexec/apache2/libphp5.so
  4. #加入index.php
  5. <IfModule dir_module>
  6. DirectoryIndex index.php index.html
  7. </IfModule>
  8. #修改web目录
  9. DocumentRoot "/Users/yangyi/www"
  10. <Directory "/Users/yangyi/www">

然后修改完成后,重启apache: /usr/sbin/apachectl restart

在web目录下新建一个index.php

  1. echo phpinfo();

打开浏览器:127.0.0.1。就能看到phpinfo了。

mysql

默认Mac没有帮我们安装mysql,所以我们得自己去安装,Mac下安装软件很简单,和其他软件一样,拖拽或者各种下一步就好了;

下载

我下载的这个版本:

mysql-5.6.23-osx10.9-x86_64.dmg

官网下载太慢的话:可以去搜狐镜像:http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.23-osx10.9-x86_64.dmg

安装:

dmg下载相对简单,直接双击各种下一步就可以了,注意,现在的新版貌似没有网上说的一解压出来有3个文件,里面只有一个文件:mysql-5.6.23-osx10.9-x86_64.pkg, 并没有MySQLStartupItem.pkgMySQL.prefPane。通过后来的安装后,我大概知道了。已经全部整合到一个文件中去了。

安装完毕后,mysql 被安装在/usr/local/mysql-5.6.23-osx10.8-x86_64/下了。然后所有的命令都被安装在/usr/local/mysql下。

所以配置文件在/usr/local/mysql/my.cnf 。数据文件在/usr/local/mysql/data下。

启动mysql

Mac下启动mysql比较蛋疼:

  1. sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
  2. sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

mysql基本操作命令:

  1. /usr/local/mysql/bin/mysql -u root -p 123456
  2. /usr/local/mysql/bin/mysqladmin

所以我们可以把这4个命令加入到alias别名:

编辑/etc/bashrc文件,最下面加入:

  1. alias mysqlstart='sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart'
  2. alias mysqlstop='sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop'
  3. alias mysql='/usr/local/mysql/bin/mysql'
  4. alias mysqladmin='/usr/local/mysql/bin/mysqladmin'

重启source:source bashrc 就可以使用这写命令了。

php代码中连接mysql

使用PHP连接MySQL可能会报错

“Can’t connect to local MySQL server through socket
‘/var/mysql/mysql.sock’”,

或者使用localhost无法连接MySQL而需要127.0.0.1,原因是连接时候php默认去找/var/mysql/mysql.sock了,但是MAC版本的MYSQL改动了文件的位置,放在/tmp下了。处理办法是按如下修改php.ini:

mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket = /tmp/mysql.sock

nginx

Mac下默认没有按照nginx的。用brew安装下:

brew install nginx

默认会安装在/usr/local/Cellar/nginx/1.6.2下。所有的文件也会同步一份到/usr/local/opt/nginx下。

启动命令:

nginx

重新加载配置|重启|停止|退出 nginx

nginx -s reload|reopen|stop|quit

配置文件在:

/usr/local/etc/nginx/nginx.conf

开机启动,加入到launch:

ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

配置下支持php-fpm, 编辑nginx.conf:

43   location / {
44      root   /Users/yangyi/www;              #web的根目录
45      index  index.php index.html index.htm; #加index.php
46   }


65   location ~ \.php$ {
66      root           /Users/yangyi/www;    #web的根目录
67      fastcgi_pass   127.0.0.1:9000;       #php-fpm的地址
68      fastcgi_index  index.php;
69      fastcgi_param  SCRIPT_FILENAME  /User/yangyi/www$fastcgi_script_name; #web
70      include        fastcgi_params;
71   }

打开127.0.0.1:8080刷新看看,index.php 的phpinfo信息。

参考:
mach环境搭建

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注