Mac下搭建PHP集成开发环境(推荐)
MAC自带PHP和Apache
Mac自带Apache坑很多,并且会受Mac系统升级影响。而单独安装Apache和PHP较为繁琐,升级也不方便。因此推荐使用XAMPP搭建PHP开发环境,使用XAMPP搭建PHP环境后,请关闭自带Apache服务;否则XAMP中的Apache和自带的Apache端口会发生冲突。
升级PHP开发环境时,仅需备份httpd.conf和http-vhosts.conf,并重新安装xdebug即可。
注:建议将所有自定义的Web目录设置到 /Applications/XAMPP/htdocs 文件夹下,否则Apache可能会报403。在Mac上Apache 403的问题很难修复,且受系统升级影响;通过各种方式安装Apache或使用自带的Apache都会出来403问题;因此,在Mac下不建议将Apache的Web根目录设置到其它非默认目录中。
注:在本机访问Apache本地服务时,要避免本机有全局代理;如果本地服务被代理拦截,就会导致本地服务无法访问。
安装环境
下载安装:https://www.apachefriends.org/index.html
## 常用命令:
sudo apachectl start
sudo apachectl stop
sudo apachectl restart
## 查看Apache版本
httpd -v
注:Mac的XAMPP分为XAMPP for Mac和XAMPP-VM版本:
XAMPP for Mac 的XAMPP是OS X的本地安装程序。它将Apache,PHP和其他XAMPP组件直接安装在OS X系统的/ Applications / XAMPP文件夹中。
XAMPP-VM是OS X的虚拟机,它包括Apache,PHP和其他XAMPP组件,并在OS X系统上的基于Linux的虚拟机中运行它们。
我们需要下载的是XAMPP for Mac
下载项目
cd /Applications/XAMPP/htdocs
sudo git clone https://git.coding.net/jw_/sidoc.git
注:右键,将项目的权限设置为所有人可读/写;并应用于所有子文件/文件夹;否则phpstorm可无法打开项目。
多站点的配置
配置hosts(本地DNS服务器)
以管理员身体打开文件 /private/etc/hosts
,并添加如下两句:
127.0.0.1 www.test.com 127.0.0.1 test.com
注意:若本地有代理服务,且已开启全局模式时,hosts中的配置可能会失效,因为 test.com 会被代理服务转向其它IP,而非在hosts中配置的127.0.0.1
设置Apache以当前用户身份来运行,避免可能的403错误
打开 httpd.conf 文件,修改配置用户:
路径: /Applications/XAMPP/xamppfiles/etc/httpd.conf
引入httpd-vhosts.conf配置文件
解决中文目录乱码问题
在httpd.conf文件最底部添加如下代码:
IndexOptions Charset=UTF-8
配置http-vhosts.conf文件
打开 /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf
文件,添加如下代码:
<VirtualHost *:80>
ServerAdmin 512113110@qq.com
DocumentRoot "/Users/edz/Desktop/jw_pro"
<Directory "/Users/edz/Desktop/jw_pro">
# Indexes表示允许显示目录结构
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ServerName pro.com
ServerAlias pro.com
</VirtualHost>
授权Apache访问工作空间目录
## 如下命令会给所有访问者读、写权限,仅用于本机测试环境,否则很危险
sudo chmod -R 777 /Applications/XAMPP/xamppfiles/htdocs/sidoc
安装PHP Redis扩展
https://www.sidoc.cn/doc/456.html
安装PhpStorm
下载安装:https://www.sidoc.cn/article/662.html
配置主题:https://pan.baidu.com/s/1cJIgge
切换为Eclipse快捷键方式 :
环境确认
在首页html中添加如下代码查看PHP和Apache版本:
<?php echo phpinfo() ?>
版本要求:Apache 2.4.*
PHP 7.*
Mac/Linux断点调试
1> 下载 xdebug 源码:
复制 phpinfo()
输出的所有信息
打开https://xdebug.org/wizard.php,粘贴 phpinfo()
输出的所有信息,然后点击下方按钮进行分析
分析结果中会出现适合当前环境的Xdebug版本,以供下载。
2> 解压xdebug-2.5.5 tgz
3> 在 xdebug-2.5.5 主目录中执行 /Applications/XAMPP/xamppfiles/bin/phpize-7.2.32
命令:
JW:xdebug-2.5.5 administrator$ cd /Users/administrator/Downloads/xdebug-2.5.5/xdebug-2.5.5
JW:xdebug-2.5.5 administrator$ phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
JW:xdebug-2.5.5 administrator$
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
phpize依赖于autoconf,如果没有安装autoconf,则执行brew install autoconf
命令来安装autoconf;
注:执行 brew install autoconf 命令前,要确保系统已安装homebrew
4> 在xdebug-2.4.0主目录中执行configure,配置php-config路径:./configure --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config-7.2.32
5> 执行make
6> 执行sudo make install
执行成功后,会自动打出xdebug.so的位置,将xdebug.so 拖入 /Applications/XAMPP/xamppfiles/bin
文件夹;
7> 打开 /Applications/XAMPP/xamppfiles/etc/php.ini
文件,搜索 zend_extension:
在其下添加如下代码(粘贴时请删除注释):
zend_extension = /Applications/XAMPP/xamppfiles/bin/xdebug.so //这是配置xdebug
xdebug.remote_enable = On //是否运行远程终端,必须开启
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000 //这个端口号要和phpstorm中的保持一致
xdebug.idekey = PHPSTROM //调试器关键字
8> 重启Apache,并在首页html中添加如下代码查看Xdebug是否配置成功:
<?php echo phpinfo() ?>
成功配置界面如下 :
9> 配置phpstorm以支持xdebug
1. 配置端口
2. 配置PHP Web Application