0%

新Mac的php环境配置笔记 2017/10

2017年10月2日 下午8:39

概述:

  1. 在安装mysql之前要可以安装很多小的软件,也可以不按。重要的是,如果这些小软件安装的过程中warring 或者 error就用纠结了,无所谓
  2. Brew的安装指令原来的不能用了,如果下次还变,百度上查就行了,多试几个没事
  3. sudo 更多使用Mac解决权限的问题,在ubuntu中更多的使用chown等指令,这是一个不同。遇见permission deny 要想sudo
  4. 最花时间的是nginx的配置文件,这里给出两个,原来我使用的是老朱的,这次就不行了,不知道为啥,我又找了一个可以了
  5. php5.5以后关于数据库操作的函数废弃了很多,这点要注意,附录中有。
  6. 步骤代码在 2017/10/2 Mac中配置php的步骤记录

几个重要文档

  1. 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL,Redis,Memcache … … (LNMP开发环境) - Fish - SegmentFault
  2. 老朱亲自写的,最完美ThinkPHP Nginx 配置文件 - ThinkPHP框架
  3. nginx完美支持thinkphp3.2.2(需配置URL_MODEL=>1pathinfo模式) - ThinkPHP框架
  4. PHP连接mysql数据库报错:Call to undefined function mysql_connect() - CSDN博客
  5. 重启nginx后丢失nginx.pid的解决方法_nginx_脚本之家
  6. nginx: emerg bind() to 0.0.0.0:80 failed (98: Address already in use)

最重要的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
server {
listen 80;
server_name localhost;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location ~ \.php {
root /var/www;
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
set $path_info "";
set $fastcgi_script_name_new $fastcgi_script_name;

if ($fastcgi_script_name ~* "^(.+\.php)(/.+)$" ) {
set $fastcgi_script_name_new $1;
set $path_info $2;
}


fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name_new;
fastcgi_param SCRIPT_NAME $fastcgi_script_name_new;
fastcgi_param PATH_INFO $path_info;
}

location / {
root /var/www;
index index.php index.html index.htm;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php$1 last;
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

#测试php-fpm配置
php-fpm -t
php-fpm -c /usr/local/etc/php/5.6/php.ini -y /usr/local/etc/php/5.6/php-fpm.conf -t

#启动php-fpm——这个命令报错
php-fpm -D
php-fpm -c /usr/local/etc/php/5.6/php.ini -y /usr/local/etc/php/5.6/php-fpm.conf -D

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

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

#也可以用上文提到的brew命令来重启php-fpm,不过他官方不推荐用这个命令了
brew services restart php56

#还可以用这个命令来启动php-fpm
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist


由于Mac自带了php和php-fpm,因此需要添加系统环境变量PATH来替代自带PHP版本。
echo 'export PATH="$(brew --prefix php56)/bin:$PATH"' >> ~/.bash_profile #for php
echo 'export PATH="$(brew --prefix php56)/sbin:$PATH"' >> ~/.bash_profile #for php-fpm
echo 'export PATH="/usr/local/bin:/usr/local/sbib:$PATH"' >> ~/.bash_profile #for other brew install soft
source ~/.bash_profile


sudo chown root:wheel /usr/local/Cellar/nginx/1.10.2_1/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.10.2_1/bin/nginx

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

更换php7.0

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

#php7.0
echo 'export PATH="$(brew --prefix php70)/bin:$PATH"' >> ~/.bash_profile #for php
echo 'export PATH="$(brew --prefix php70)/sbin:$PATH"' >> ~/.bash_profile #for php-fpm
echo 'export PATH="/usr/local/bin:/usr/local/sbib:$PATH"' >> ~/.bash_profile #for other brew install soft
source ~/.bash_profile

#php开机自启
ln -sfv /usr/local/opt/php70/*.plist ~/Library/LaunchAgents
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist

[assets/php配置笔记.pages]

附录: