MacOS 14 搭建 PHP7.4 + Xdebug开发环境

摘要

项目使用的技术栈:PHP 7.4.33、ThinkPHP 5.1.27、Redis、MySQL
由于MacOS预装的PHP版本较高,所以需要降级
IDE 使用 PhpStorm 2023.2.3

1. 安装PHP 7.4.33

MacOS 14中的brew版本比较高,没有低版本的PHP

brew install shivammathur/php/php@7.4-debug

2. 切换版本

#断开链接php8.3版本
brew unlink php@8.3
#链接php7.4版本
brew link php@7.4-debug

3. 安装xdebug模块

3.1 确认xdebug版本

将phpinfo()粘贴到xdebug提供的安装向导页面 Installation Wizard
image.png

3.2 安装xdebug

根据上一步中分析的结果,安装对应版本的xdebug
image.png

4. 安装Redis模块

4.1 下载Redis模块的源码包

地址:http://pecl.php.net/package/redis

4.2 安装

解压缩后进入目录
Downloads/redis-5.0.2/redis-5.0.2

liyang@liyangdeMBP redis-5.0.2 % ll
total 3656
drwxr-xr-x@ 56 liyang  staff    1792  4  3 09:48 ./
drwxr-xr-x@  5 liyang  staff     160  4  3 09:42 ../
drwxr-xr-x  14 liyang  staff     448  4  3 09:48 .libs/
-rw-r--r--@  1 liyang  staff    3218  7 29  2019 COPYING
-rw-r--r--@  1 liyang  staff     204  7 29  2019 CREDITS
-rw-r--r--@  1 liyang  staff    3602  7 29  2019 INSTALL.markdown
-rw-r--r--   1 liyang  staff   11894  4  3 09:48 Makefile
-rw-r--r--   1 liyang  staff       0  4  3 09:48 Makefile.fragments
-rw-r--r--   1 liyang  staff    2802  4  3 09:48 Makefile.objects
-rw-r--r--@  1 liyang  staff  119355  7 29  2019 README.markdown
-rw-r--r--@  1 liyang  staff   10019  7 29  2019 arrays.markdown
drwxr-xr-x   7 liyang  staff     224  4  3 09:45 autom4te.cache/
drwxr-xr-x  13 liyang  staff     416  4  3 09:45 build/
-rw-r--r--@  1 liyang  staff   10988  7 29  2019 cluster.markdown
-rw-r--r--@  1 liyang  staff   83920  7 29  2019 cluster_library.c
-rw-r--r--@  1 liyang  staff   18106  7 29  2019 cluster_library.h
-rw-r--r--   1 liyang  staff     321  4  3 09:48 cluster_library.lo
-rw-r--r--@  1 liyang  staff   19955  7 29  2019 common.h
-rw-r--r--   1 liyang  staff    2131  4  3 09:45 config.h
-rw-r--r--   1 liyang  staff    2006  4  3 09:48 config.h.in
-rw-r--r--   1 liyang  staff   18298  4  3 09:48 config.log
-rw-r--r--@  1 liyang  staff    7802  7 29  2019 config.m4
-rwxr-xr-x   1 liyang  staff     139  4  3 09:48 config.nice*
-rwxr-xr-x   1 liyang  staff   21221  4  3 09:48 config.status*
-rw-r--r--@  1 liyang  staff     923  7 29  2019 config.w32
-rwxr-xr-x   1 liyang  staff  475668  4  3 09:45 configure*
-rw-r--r--   1 liyang  staff    5082  4  3 09:45 configure.ac
-rw-r--r--@  1 liyang  staff    4483  7 29  2019 crc16.h
drwxr-xr-x   2 liyang  staff      64  4  3 09:45 include/
drwxr-xr-x@  8 liyang  staff     256  4  3 09:42 liblzf/
-rw-r--r--@  1 liyang  staff   78234  7 29  2019 library.c
-rw-r--r--@  1 liyang  staff    8056  7 29  2019 library.h
-rw-r--r--   1 liyang  staff     305  4  3 09:48 library.lo
-rwxr-xr-x   1 liyang  staff  211007  4  3 09:48 libtool*
drwxr-xr-x   3 liyang  staff      96  4  3 09:48 modules/
-rw-r--r--@  1 liyang  staff    8509  7 29  2019 php_redis.h
-rw-r--r--@  1 liyang  staff  116912  7 29  2019 redis.c
-rw-r--r--   1 liyang  staff     802  4  3 09:48 redis.la
-rw-r--r--   1 liyang  staff     301  4  3 09:48 redis.lo
-rw-r--r--@  1 liyang  staff   40509  7 29  2019 redis_array.c
-rw-r--r--@  1 liyang  staff    2281  7 29  2019 redis_array.h
-rw-r--r--   1 liyang  staff     313  4  3 09:48 redis_array.lo
-rw-r--r--@  1 liyang  staff   40728  7 29  2019 redis_array_impl.c
-rw-r--r--@  1 liyang  staff    1350  7 29  2019 redis_array_impl.h
-rw-r--r--   1 liyang  staff     323  4  3 09:48 redis_array_impl.lo
-rw-r--r--@  1 liyang  staff  106555  7 29  2019 redis_cluster.c
-rw-r--r--@  1 liyang  staff   10438  7 29  2019 redis_cluster.h
-rw-r--r--   1 liyang  staff     317  4  3 09:48 redis_cluster.lo
-rw-r--r--@  1 liyang  staff  130272  7 29  2019 redis_commands.c
-rw-r--r--@  1 liyang  staff   13712  7 29  2019 redis_commands.h
-rw-r--r--   1 liyang  staff     319  4  3 09:48 redis_commands.lo
-rw-r--r--@  1 liyang  staff   35238  7 29  2019 redis_session.c
-rw-r--r--@  1 liyang  staff     511  7 29  2019 redis_session.h
-rw-r--r--   1 liyang  staff     317  4  3 09:48 redis_session.lo
-r-xr-xr-x   1 liyang  staff  127055  4  3 09:45 run-tests.php*
drwxr-xr-x@ 12 liyang  staff     384  4  3 09:42 tests/

按顺序执行命令

liyang@liyangdeMBP redis-5.0.2 % phpize
liyang@liyangdeMBP redis-5.0.2 % ./configure --with-php-config=/opt/homebrew/Cellar/php@7.4-debug/7.4.33_6/bin/php-config
liyang@liyangdeMBP redis-5.0.2 % make && make install

5. 修改php.ini配置

增加xdebug和Redis扩展

zend_extension = "/opt/homebrew/lib/php/pecl/20190902-debug/xdebug.so"
xdebug.remote_handler="dbgp"
xdebug.client_host=localhost
xdebug.client_port=9001
xdebug.idekey=phpstorm
xdebug.start_with_request=yes
xdebug.mode=debug

extension="/opt/homebrew/lib/php/pecl/20190902-debug/redis.so"

6. 配置PhpStorm,使可以debug

6.1 配置PHP解释器

image.png

6.2 配置xdebug端口

端口应该和php.ini中的一致
image.png

6.3 配置DBGp代理

这里的ide键就是php.ini文件中的xdebug.idekey的值
image.png

参考

PECL::Package::redis
mac 安装php扩展(redis为例)
在 macOS 上的多个 PHP 版本之间切换
# Installation Wizard
手把手完成mac下配置phpstorm的xdebug3

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了在 macOS搭建 PHP 开发环境,你可以按照以下步骤进行操作: 1. 安装 Homebrew:Homebrew 是 macOS 上一个常用的包管理器。打开终端并输入以下命令安装 Homebrew: ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 2. 安装 PHP:使用 Homebrew 安装 PHP。在终端中输入以下命令: ``` brew install php ``` 3. 配置 PHP:默认情况下,Homebrew 会将 PHP 安装在 `/usr/local/etc/php` 目录下。你可以根据需要进行配置更改。 4. 安装一个 Web 服务器:你可以选择安装 Apache 或 Nginx 作为 Web 服务器。下面是安装 Apache 的步骤: - 安装 Apache: ``` brew install httpd ``` - 配置 Apache:编辑 `/usr/local/etc/httpd/httpd.conf` 文件进行必要的配置更改,如修改网站根目录等。 - 启动 Apache: ``` sudo apachectl start ``` - 在浏览器中输入 `http://localhost`,如果看到 "It works!" 的页面,则说明 Apache 已经成功安装并运行。 5. 安装数据库:如果你需要使用数据库,可以选择安装 MySQL 或 PostgreSQL。使用以下命令安装 MySQL: ``` brew install mysql ``` - 启动 MySQL: ``` brew services start mysql ``` - 设置 MySQL 根密码: ``` mysql_secure_installation ``` 6. 安装开发工具:你可以选择安装一个集成开发环境(IDE)或文本编辑器,如 Visual Studio Code、PhpStorm、Sublime Text 等。 这样,你的 macOS PHP 开发环境搭建完成了。你可以在配置文件中进行进一步的定制和调整,以适应你的开发需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值