前言
写这篇文章的目的呢,是为了下次记录学习php的点滴,同时也是在这个过程中碰到了一些问题,记录下来作为防坑使用。
之前一直是在Windows下进行配置和学习,前两天想着方便一点,在Mac上也安装一下环境。中间遇到了点问题,花了点时间找解决方案,网上也并没有很准确的,所以在这里也记录一下。
本文涉及到的软件为:
-
MacOS 10.15
-
Apache 2.4
-
PHP 7.3.9/7.4.2
-
MySQL 8.0.19
-
Phpstorm 2019.03
在MacOS中预装了Apache 2.4 和 PHP 7.3.9,因此并不需要重新下载。启用即可。
配置Apache
打开终端,在终端中输入sudo apachectl start
开启Apache服务,开启后打开浏览器输入localhost
,页面显示It works!
则表示成功开启。

配置PHP
因PHP 7.3.9已经预装好了,所以只要和Apache进行关联即可启用。
打开位于/private/etc/apache2
的httpd.conf
配置文件,大概在186行左右,找到LoadModule
下的这一语句,将注释#
去掉即可。
#LoadModule php7_module libexec/apache2/libphp7.so
随后在终端使用命令重启Apache服务:
sudo apachectl restart
Apache的默认web站点目录为:/Library/Webserver/Documents/
如果要修改,则同样在httpd.conf
中找到DocumentRoot
和Directory
内容:
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
只需将/Library/WebServer/Documents
改为其他目录即可(大概在255行)。
更改完成后同样需要重启Apache服务。
在web目录下新建test.php
,输入<php phpinfo() ?>
,然后在浏览器中打开localhost\test.php
,则会打开php信息页。(忽略php的版本,下文会提到,此处应该是PHP 7.3.9)

对于PHP的环境配置就到这里基本上结束了。
本文重点
因为我使用的是phpstorm,基于上文的配置,设置好phpstorm后打开网页会出现502 Bad Gateway
报错。

返回phpstorm则能看到php-cgi not found
的报错。

这是因为在Mac自带的PHP 7.3.9中并未安装cgi插件。在网上搜了很久,都只有一个办法,那就是安装另外一个版本的PHP,不使用Mac自带的PHP。
那么说干就干,安装php的方法有几个,本文使用的是Homebrew
。
Homebrew 作为macOS不可或缺的套件管理器,用来安装、升级以及卸载常用的软件。在终端中执行以下命令即可安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装好之后使用命令来安装PHP。
brew install php
完成之后会在最后提示需要修改的参数,告知php.ini的位置。因为没有截图,所以这里就不能放图了。(如果下载速度很慢的话,需要更换homebrew的国内源,具体如何更换我就不详细说了,大家可以自行百度,都有给出具体的命令,因为我已经出去了,所以下载速度还不错,并没有进行更换。)
要更改的LoadModule为以下语句:
LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so
更改完成后需要重启Apache服务来生效。
此时,浏览器再次打开localhost\test.php
则会出现新版本的php信息页。此时版本已经为PHP 7.4.2。

完成以上步骤后就可以回到phpstorm中设置CLI Interpreters的参数。
下图是软件里配置正确的参数,仅供参考。

注意的是,在PHP executable中不可直接使用终端中给出的php.ini的路径,否则phpstorm会直接报权限错误。
在/usr/local/bin
中找到php-cgi
,就是之前提示缺少的插件,然后双击点击“显示原身”,或者“显示简介”,然后复制php-cgi
原身的地址。

然后将此地址填入PHP executable
的输入框中,即可完成正确的配置。

此时,在phpstorm中进行浏览器调试则不会出现502 Bad Gateway
的报错。

至此,PHP的配置就全部结束。
MySQL的安装配置
MySQL可以使用homebrew进行安装,同样也可以直接从官网下载安装包进行安装。
具体下载和安装我就不在这里多说了,只要在安装过程中更改root的密码,还有选择密码的形式即可。
安装完成之后进行配置全局环境变量。
进入终端(这里用的是vim):
vim ~/.bash_profile
使用i
在文件最后插入:
PATH=$PATH:/usr/**local**/mysql/bin
保存并退出(ESC --> :wq)。
让配置生效:
source ~/.bash_profile
退出终端重新进入并键入以下命令:
mysql --version
通过以下命令来进行MySQL的登陆:
mysql -u root -p

全文END。
其他文章持续更新中.........
转载请注明作者和出处!
网友评论