【Mac】搭建本地PHP开发环境

安装PHP7.2

brew install [email protected]

安装和配置服务

Apache和Nginx都是服务器,只需要启动一个就够了,一般而言,Nginx是比较好的选择。

安装Nginx

使用以下指令来安装:

brew install nginx

通过查看nginx信息,查看配置文件所在路径

brew info nginx // 查看nginx信息

Docroot is: /usr/local/var/www 服务器默认路径
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that nginx can run without sudo. 其中/usr/local/etc/nginx就是配置文件所在的路径
/usr/local/Cellar/nginx/1.17.10 安装路径

配置Nginx

修改配置文件,端口设置为80

cd /usr/local/etc/nginx // 跳转到配置文件目录
sudo vim nginx.conf     // 编辑配置文件

serverlisten端口号改为80(端口号不一定要80,可以自定义)

server {
listen 80;
server_name localhost;
#charset koi8-r;

修改网站位置

user root owner; // 需要增加访问权限,不然访问网站会出现403错误
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   /Users/asuna/Documents/www; // 本地网站文件夹路径,不能使用~来代替用户名
        index  index.html index.htm index.php; // 默认网页;nginx一般是不能直接访问PHP的,之后还需要做操作
    }

给nginx权限

sudo chown root:wheel /usr/local/Cellar/nginx/1.17.10/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.17.10/bin/nginx
sudo chown -R root:wheel /usr/local/etc/nginx/ 

这里的版本号要根据自己的做修改,用brew info nginx来查看路径。

启动服务

sudo nginx // 启动nginx

启动nginx后,在浏览器上打开localhost:80,出现Welcome to nginx!代表修改成功。
没修改hosts的用127.0.0.1:80
如果依然没有,建议清理下浏览器缓存和重启浏览器。

如果之前是启动服务状态的,需要重启服务

sudo nginx -t        // 测试配置是否有语法错误
sudo nginx -s reload // 重新加载文件
brew services restart nginx // 重启服务

如果出现nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx/nginx.pid"报错,可以使用下面指令来解决:

sudo nginx -s reload

可以使用以下指令来停止服务:

sudo nginx -s stop

Nginx配置的可选操作

启动进程,通常设置成和cpu的数量相等

worker_processes  1; // 默认是1

并发连接数

events {
    worker_connections  1024; // 单个worker process进程的最大并发链接数,默认1024
}

设定http服务器,利用它的反向代理功能提供负载均衡支持

    gzip  on; // 开启gzip压缩
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

Nginx支持PHP配置

修改php-fpm配置文件
执行命令:

sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
sudo vim /private/etc/php-fpm.conf // 打开PHP配置文件

;error_log = log/php-fpm.log替换为error_log = /usr/local/var/log/php-fpm.log,否则会报错ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory

打开nginx配置,并打开server下被注释的location ~.php$块,然后把fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;改为fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
完成之后重启nginx服务,和启动php-fpm服务。

php-fpm // 不能加sudo,不然会导致权限问题,从而找不到PHP文件

然后访问localhost:80,看到php配置信息,就说明配置好了。
如果报错如下:

WARNING: Nothing matches the include pattern '/private/etc/php-fpm.d/*.conf' from /private/etc/php-fpm.conf at line 143.
ERROR: No pool defined. at least one pool section must be specified in config file
ERROR: failed to post process the configuration
ERROR: FPM initialization failed

使用以下方法可解决:

cd ~ // 转回主目录
cd /private/etc/php-fpm.d 
sudo cp www.conf.default www.conf // 复制一份无后缀的

然后重新启动php-fpm服务就行了。

安装mysql5.7

brew install [email protected]

安装完成之后,并不能在命令行直接使用mysql指令,需要配置环境变量。

open ~/.bash_profile // 打开baseShell的配置文件
export PATH="/usr/local/opt/[email protected]/bin:/usr/local/opt/[email protected]/sbin:$PATH" // 添加环境变量

如果open指令无法使用,就使用vim,按i进入编辑,esc退出编辑,:wq保存并退出,:q!是不保存退出
添加环境变量需要把以前的PATH也拼接进去,不然会导致丢失之前的路径,从而有些指令无法使用

保存后在命令行使用以下指令更新配置文件:

source ~/.bash_profile

MySQL的一些指令:

mysql.server start // 启动
mysql.server stop  // 停止

修改root默认密码

先启动MySQL,然后在命令行输入以下命令进入MySQL操作界面:

mysql -h127.0.0.1 -uroot -p // 如果要求输入密码,则直接按回车即可,因为在没修改密码之前是没有密码的
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; // MyNewPass就是要设置的密码
exit // 退出MySQL操作界面

进入MySQL后,可以输入status来查看MySQL的信息

安装PHP依赖管理工具

php第三方依赖管理工具有pear和Composer,Pear是比较古老的管理方式,而后者composer则需要PHP5.3以后的版本方支持。其管理灵感来自node的npm,其实管理起来也是非常方便的。
下载 Composer

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" // 下载安装脚本 - composer-setup.php - 到当前目录
php composer-setup.php // 执行安装过程
php -r "unlink('composer-setup.php');" // 删除安装脚本
sudo mv composer.phar /usr/local/bin/composer // 全局可用

升级版本可以使用composer selfupdate

系统全局启用镜像服务:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

如果需要解除镜像并恢复到packagist官方源,请执行以下命令:

composer config -g --unset repos.packagist

如果是使用oh-my-zsh

zsh有他自己的配置文件,所以.bash_profile在zsh里是不生效的。
zsh的配置文件是.zshrc,每次打开命令行工具的时候zsh只会加载.zshrc,并不加载.bash_profile
所以,为了使zsh也能和baseShell一样用,你需要把.bash_profile的配置复制一份到.zshrc里面。
但是,如果你不是有意的区分zsh和baseShell的环境的话(或者说你要zsh和baseShell环境无论何时都保持统一的话),那你每次修改配置都应该只修改.bash_profile文件,然后在.zshrc里面加上以下代码:

source ~/.bash_profile // 使zsh加载baseShell的配置

保持后重新加载.zshrc就行了

source ~/. zshrc // 重新加载配置文件

iOS OC Swift Flutter开发群 139322447

你可能感兴趣的:(【Mac】搭建本地PHP开发环境)