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

相关推荐

  1. 使用dockerphp开发环境

    2024-04-04 05:06:03       38 阅读
  2. fluttermac开发环境

    2024-04-04 05:06:03       20 阅读
  3. dockerodoo16开发环境

    2024-04-04 05:06:03       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-04 05:06:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-04 05:06:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-04 05:06:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-04 05:06:03       18 阅读

热门阅读

  1. 使用Docker 部署jenkins 实现自动化部署

    2024-04-04 05:06:03       17 阅读
  2. 【RAG】内部外挂知识库搭建-本地GPT

    2024-04-04 05:06:03       13 阅读
  3. 使用Linux strace追踪系统调用: 一个详细指南

    2024-04-04 05:06:03       13 阅读
  4. S3存储请求结果403错误

    2024-04-04 05:06:03       19 阅读