如何修改mac默认php?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改mac默认php?相关的知识,希望对你有一定的参考价值。

我开发用的电脑是MacPro,做php开发来着
刚开始的时候使用的是系统自带的Apache和php,加上自己装的mysql,就构成了amp环境了。后台项目开发中发现验证码无法创建,是因为自带的php的gd库不支持png,百度了很多,也灭解决问题,过程中还用brew单独装了好几次php也不行,后来在stack上找到解决方法,重装了一个5.6的,然后顺带这装了些其他东西,gd库可以用了,开发了一段时间也还行。
现在问题来了,我在mac里面用brew又弄了个nginx,开启php-fpm,然后弄一弄的,不知怎么的,现在有点乱了,find了下php发现了好几个版本

我想请问下,怎么更改系统默认的php,即在命令行php-v这个默认的php

还有就是我想把多余的给删掉,应该怎么移除掉多余的php

下图里面那些文件到底干嘛的啊

这是我php -v的结果

最好所有的包都给brew管理,which php查看当前使用的php的路径,对于使用哪个php,系统会根据PATH的顺序自动查找,先找到谁就用谁。所以可以更改PATH里的顺序,或者把系统自带的重命名为其他的 参考技术A 我也遇到过。。。最好所有的包都给brew管理,which php查看当前使用的php的路径,对于使用哪个php,系统会根据PATH的顺序自动查找,先找到谁就用谁。所以可以更改PATH里的顺序,或者把系统自带的重命名为其他的本回答被提问者和网友采纳 参考技术B ~/.bash_profile

export PATH="$(brew --prefix php55)/bin:$PATH"
export PATH="$(brew --prefix php55)/sbin:$PATH"
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

Mac安装PHP运行环境

  • 先安装brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • nginx的安装与配置
brew install nginx

修改配置文件

sudo vim /usr/local/etc/nginx/nginx.conf
#修改默认的8080端口为80

给予管理员权限

sudo chown root:wheel/usr/local/opt/nginx/bin/nginx
sudo chmod u+s/usr/local/opt/nginx/bin/nginx

 

加入launchctl启动控制

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist~/Library/LaunchAgents/launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

运行nginx

sudo nginx #打开 nginx
nginx -s reload|reopen|stop|quit #重新加载配置|重启|停止|退出 nginx
nginx -t #测试配置是否有语法错误

测试配置nginx的时候,开启nginx有错误。如图:

 

这导致我在切换URL的时候获取不到后台的数据,还一直报错404.

我的解决方案:

sudo nginx -c /usr/local/etc/nginx/nginx.conf

然后重启一下:sudo nginx -s reload  就可以了

常用的nginx命令:
nginx -t  开启nginx服务

sudo nginx  查看nginx状态

vi /usr/local/etc/nginx/nginx.conf  打开nginx.conf配置文件

sudo lsof -i:80  查看nginx进程 

  

  • mysql的安装与配置

安装mysql

brew install mysql
cd /usr/local/opt/mysql/

修改配置文件

sudo vim my.cnf
#如果出现无法启动mysql,rm my.cnf

加入launchctl启动控制

mkdir -p ~/Library/LaunchAgents/
cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
#取消启动
#launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

 

初始化 mysql

./bin/mysql_install_db
#实在运行不了就跳过这一步

 

执行安全设置脚本,设置root账号密码

./bin/mysql_secure_installation

 

命令行连接mysql

mysql -uroot -p

 

  • php的安装与配置

1.安装php7

brew install php70 --without-apache --with-fpm
#因为我们用nginx,所有--without-apache,并且加上--with-fpm来编译php

 

2.安装完成后,加入全局变量

vim ~/.bash_profile 添加上:export PATH=/usr/local/bin:/usr/sbin:$PATH
然后 vim ~/.bashrc 添加上:export PATH = "$(brew --prefix homebrew/php/php70)/bin:$PATH"
最后执行 source ~/.bash_profile source ~/.bashrc

3.然后加入开机自启

mkdir -p ~/Library/LaunchAgents cp /usr/local/opt/php70/homebrew.mxcl.php70.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist

 

4.安装php扩展

其实很简单,比如你想安装php7的xdebug扩展,就brew install php70-xdebug,想安装mcrypt就 brew install php70-mcrypt
如果想按5.6的就 brew install php56-xxxx,是不so easy,另外你可以 brew search php70,可以看到所有php7的扩展库,同理也可以查php56的

 

5.配置 Nginx 支持 PHP-FPM

sudo vim /usr/local/etc/nginx/nginx.conf

# 添加默认首页 index.php
index index.php index.html index.htm;

# 取消以下内容的注释,并做修改
location ~ \\.php$ {
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000; #这里根据你的php-fpm端口号而定
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /usr/local/etc/nginx/fastcgi_params;
}

6.php-fpm配置:

sudo killall php-fpm #停掉所有php-fpm的进程

7.启动php-fpm。不同版本的php,sbin目录里会有不同的php-fpm,比如php7.0的是php70-fpm, php5.6.18的是 php56-fpm,你想启动哪个fpm就敲

sudo ./php70-fpm start 或 sudo php56-fpm start 就行

我的php-fpm在cd /usr/local/Cellar/php70/7.0.26_18/sbin/这里,

我这里需要执行:

cd /usr/local/Cellar/php70/7.0.26_18/sbin/
sudo ./php70-fpm start

 

就可以启动php-fpm了。

测试环境
sudo vim /usr/local/Cellar/nginx/1.6.0_1/html/index.php

#添加测试代码
<?php 
echo phpinfo();

 

浏览器访问http://localhost/index.php即可,执行成功,则表示环境搭建成功

Mac的hosts文件位置(配置域名使用)

cd /private/etc
vim hosts

 

以上是关于如何修改mac默认php?的主要内容,如果未能解决你的问题,请参考以下文章

修改 Mac 默认 PHP 运行环境

Mac 如何修改Mac系统的默认截图路径

mac默认安装postgresql, 如何让postgresql可以远程访问

如何恢复mac自带apache的默认配置

切换Mac默认PHP版本为MAMP

如何在mac系统中搭建php服务器