# macos系统中php的各个版本扩展编译so文件 **Repository Path**: tekintian/macos-php-extensions-so ## Basic Information - **Project Name**: macos系统中php的各个版本扩展编译so文件 - **Description**: macos系统中php的各个版本编译so文件和配置文件ini, 用于解决在某些情况下无法编译(如xcode版本问题等)时直接拿去就用, 包含php 5.6.40的 xdebug.so v2版本, pgsql.so 等macos系统中的so编译文件 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-09 - **Last Updated**: 2025-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: macOS, PHP, 扩展, extensions ## README # macos 系统中的各个php版本扩展编译so文件和对应的配置文件 ## macos php 5.6.40 xdebug无法编译解决方法 xdebug.so文件位置 /opt/local/lib/php56/extensions/no-debug-non-zts-20131226/xdebug.so 提取自: https://sourceforge.net/projects/xampp/files/XAMPP%20Mac%20OS%20X/5.6.40/ 通过上面的链接下载 xampp-osx-5.6.40-1-installer.dmg 安装后 即可通过下面的位置提前xdebug.so文件 xampp位置: /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so 其他的版本php扩展,如果在macos里面无法编译,也可以参考上面的解决方法,从xampp或者其他的预编译的php里面提取对应的so文件即可。 ## xdebug v3版本配置 ### xdebug v3版本php ini配置参考 ~~~ini ; xdebug v3版本配置文件 xdebug.ini zend_extension=/opt/local/lib/php83/extensions/no-debug-non-zts-20230831/xdebug.so ; 设置为off 表示关闭xdebug,也可以设置多个值 xdebug.mode = develop,debug,trace xdebug.start_with_request = default xdebug.start_upon_error = default xdebug.client_host = localhost xdebug.client_port = 9003 xdebug.connect_timeout_ms = 200 xdebug.dump_globals = true ;xdebug.log=/var/log/php/ll3.log ;xdebug.log_level = 3 ;xdebug.max_nesting_level = 700 ;xdebug.output_dir = /var/log/php/xdebug ;xdebug.trace_output_name = trace.%H.%c xdebug.idekey = "vsc" xdebug.collect_assignments = true xdebug.collect_return = true xdebug.trigger_value = "" xdebug.discover_client_host = false xdebug.client_discovery_header = "HTTP_X_FORWARDED_FOR,REMOTE_ADDR" ~~~ ### xdebug v3 vscode debug配置参考 .vscode/launch.json配置参考 ~~~json { "version": "0.2.0", "configurations": [ { "name": "Debug Artisan Command", "type": "php", "runtimeExecutable": "/opt/local/bin/php82", "request": "launch", "port": 0, // 0自动分配端口,可根据需要修改 "runtimeArgs": [ "-dxdebug.mode=debug", "-dxdebug.start_with_request=yes", "-dxdebug.client_port=${port}", "artisan", // 这个artisan是laravel的命令(就是一个PHP文件),你可以替换为其他命令 "app:clear", // 替换为你的命令 // "--user=1" // 添加命令参数 ], "cwd": "${workspaceFolder}", "env": { // 运行环境变量配置 "DB_HOST": "192.168.2.8", "REDIS_HOST": "192.168.2.8", } }, { "name": "Listen for Xdebug", "type": "php", "request": "launch", "runtimeArgs": [ "-dxdebug.start_with_request=yes" ], "port": 9003 }, { "name": "Launch currently open script", "type": "php", "runtimeExecutable": "/opt/local/bin/php82", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "port": 0, // 0自动分配端口 "runtimeArgs": [ // 这里的运行时参数是传递给PHP解析器的参数,注意顺序 "-dxdebug.mode=debug", "-dxdebug.start_with_request=yes", "-dxdebug.client_port=${port}" ], }, { "name": "Launch Built-in web server", "type": "php", "runtimeExecutable": "/opt/local/bin/php82", // 这里直接指定php运行文件, 可以删除 "request": "launch", "program": "", "port": 0, // 0自动分配端口, 可根据需要修改, xdebug默认端口为9003 "runtimeArgs": [ "-dxdebug.mode=debug", "-dxdebug.start_with_request=yes", "-dxdebug.client_port=${port}", // 这里的配置会修改xdebug.client_port的值 "-S", "localhost:8000", "-t", "public" ], "env": { "DB_HOST": "192.168.2.8", "REDIS_HOST": "192.168.2.8", "REDIS_PORT": "6379", }, "cwd": "${workspaceRoot}", "serverReadyAction": { "pattern": "Development Server \\(http://localhost:([0-9]+)\\) started", "uriFormat": "http://localhost:%s", "action": "openExternally" } } ] } ~~~ ## xdebug v2.x 配置参考 ### xdebug v2.x php配置参考 xdebug v2.x php ini配置信息 ~~~ini ; xdebug v2配置信息 [Xdebug] zend_extension=/opt/local/lib/php56/extensions/no-debug-non-zts-20131226/xdebug.so xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.collect_params=1 xdebug.collect_var=1 xdebug.collect_return=1 xdebug.idekey = "vsc" xdebug.mode = develop,debug,trace xdebug.start_with_request = default ~~~ ### xdebug v2 vscode调试配置 .vscode/launch.json配置参考 ~~~json { // 使用 IntelliSense 了解相关属性。 // runtimeExecutable 这个配置项是直接指定php运行文件,如果使用默认的php执行文件,可以删除 "version": "0.2.0", "configurations": [ { "name": "启动内置服务和debug", "type": "php", "runtimeExecutable": "/opt/local/bin/php56", "request": "launch", "runtimeArgs": [ "-dxdebug.remote_enable=1", "-dxdebug.remote_autostart=1", // 这个是启动xdebug的核心配置,必须,否则无法启动xdebug "-dxdebug.remote_port=9003", "-dxdebug.remote_host=192.168.2.8", "-dxdebug.remote_connect_back=0", "-dxdebug.remote_mode=req", "-dxdebug.idekey=VSC", "-dxdebug.start_with_request=yes", "-S", "127.0.0.1:8000", "-t", "public" ], "env": { "DB_HOST": "192.168.2.8", "REDIS_HOST": "192.168.2.8", "REDIS_PORT": "6379", }, "cwd": "${workspaceRoot}", "serverReadyAction": { "pattern": "Development Server \\(http://localhost:([0-9]+)\\) started", "uriFormat": "http://localhost:%s", "action": "openExternally" } }, { "name": "Debug current script in console", "type": "php", "port": 9003, "runtimeArgs": [ "-dxdebug.remote_enable=1", "-dxdebug.remote_autostart=1", "-dxdebug.remote_port=${port}", ], "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "externalConsole": false } ] } ~~~ ## xdebug v2和v3版本的核心配置差异 v2版本的xdebug默认启动配置为 xdebug.remote_autostart=1 v3版本的xdebug默认启动为 xdebug.start_with_request = default ## php扩展库列表 ~~~txt /opt/local/ ├── lib │ ├── php56 │ │ ├── build.zip │ │ └── extensions │ │ └── no-debug-non-zts-20131226 │ │ ├── curl.so │ │ ├── gd.so │ │ ├── gettext.so │ │ ├── iconv.so │ │ ├── mbstring.so │ │ ├── mysql.so │ │ ├── mysqli.so │ │ ├── opcache.so │ │ ├── openssl.so │ │ ├── pdo_mysql.so │ │ ├── pdo_sqlite.so │ │ ├── pgsql.a │ │ ├── pgsql.so │ │ ├── radius.so │ │ ├── redis.so │ │ ├── sqlite3.so │ │ ├── xdebug.so │ │ └── zip.so │ ├── php72 │ │ ├── build.zip │ │ └── extensions │ │ └── no-debug-non-zts-20170718 │ │ ├── curl.so │ │ ├── gd.so │ │ ├── gettext.so │ │ ├── iconv.so │ │ ├── mbstring.so │ │ ├── mcrypt.so │ │ ├── mysqli.so │ │ ├── opcache.so │ │ ├── openssl.so │ │ ├── pcntl.so │ │ ├── pdo_mysql.so │ │ ├── pdo_sqlite.so │ │ ├── redis.so │ │ ├── sockets.so │ │ ├── sodium.so │ │ ├── sqlite3.so │ │ ├── swoole.so │ │ ├── xdebug.so │ │ └── zip.so │ ├── php80 │ │ ├── build.zip │ │ └── extensions │ │ └── no-debug-non-zts-20200930 │ │ ├── curl.so │ │ ├── gd.so │ │ ├── gettext.so │ │ ├── iconv.so │ │ ├── mbstring.so │ │ ├── mcrypt.so │ │ ├── mysqli.so │ │ ├── opcache.so │ │ ├── openssl.so │ │ ├── pdo_mysql.so │ │ ├── pdo_sqlite.so │ │ ├── redis.so │ │ ├── sockets.so │ │ ├── sodium.so │ │ ├── sqlite3.so │ │ ├── swoole.so │ │ ├── xdebug.so │ │ └── zip.so │ ├── php82 │ │ ├── build.zip │ │ └── extensions │ │ └── no-debug-non-zts-20220829 │ │ ├── calendar.so │ │ ├── curl.so │ │ ├── exif.so │ │ ├── gd.so │ │ ├── gettext.so │ │ ├── gmp.so │ │ ├── iconv.so │ │ ├── imagick.so │ │ ├── intl.so │ │ ├── mbstring.so │ │ ├── mcrypt.so │ │ ├── mysqli.so │ │ ├── opcache.so │ │ ├── openssl.so │ │ ├── pcntl.so │ │ ├── pdo_mysql.so │ │ ├── pdo_sqlite.so │ │ ├── redis.so │ │ ├── sockets.so │ │ ├── sodium.so │ │ ├── sqlite3.so │ │ ├── swoole.so │ │ ├── xdebug.so │ │ └── zip.so │ └── php83 │ ├── build.zip │ └── extensions │ └── no-debug-non-zts-20230831 │ ├── curl.so │ ├── gd.so │ ├── iconv.so │ ├── mbstring.so │ ├── mcrypt.so │ ├── mysqli.so │ ├── opcache.so │ ├── openssl.so │ ├── pdo_mysql.so │ ├── pdo_sqlite.so │ ├── redis.so │ ├── sockets.so │ ├── sodium.so │ ├── sqlite3.so │ └── xdebug.so └── var/db ├── php56 │ ├── curl.ini │ ├── gd.ini │ ├── gettext.ini │ ├── iconv.ini │ ├── mbstring.ini │ ├── mysql.ini │ ├── opcache.ini │ ├── openssl.ini │ ├── pgsql.ini │ ├── radius.ini │ ├── redis.ini │ ├── sqlite.ini │ ├── xdebug.ini │ └── zip.ini ├── php72 │ ├── curl.ini │ ├── gd.ini │ ├── gettext.ini │ ├── iconv.ini │ ├── mbstring.ini │ ├── mcrypt.ini │ ├── mysql.ini │ ├── opcache.ini │ ├── openssl.ini │ ├── pcntl.ini │ ├── redis.ini │ ├── sockets.ini │ ├── sodium.ini │ ├── sqlite.ini │ ├── swoole.ini │ ├── xdebug.ini │ └── zip.ini ├── php80 │ ├── curl.ini │ ├── gd.ini │ ├── gettext.ini │ ├── iconv.ini │ ├── mbstring.ini │ ├── mcrypt.ini │ ├── mysql.ini │ ├── opcache.ini │ ├── openssl.ini │ ├── redis.ini │ ├── sockets.ini │ ├── sodium.ini │ ├── sqlite.ini │ ├── swoole.ini │ ├── xdebug.ini │ └── zip.ini ├── php82 │ ├── calendar.ini │ ├── curl.ini │ ├── exif.ini │ ├── gd.ini │ ├── gettext.ini │ ├── gmp.ini │ ├── iconv.ini │ ├── imagick.ini │ ├── intl.ini │ ├── mbstring.ini │ ├── mcrypt.ini │ ├── mysql.ini │ ├── opcache.ini │ ├── openssl.ini │ ├── pcntl.ini │ ├── redis.ini │ ├── sockets.ini │ ├── sodium.ini │ ├── sqlite.ini │ ├── swoole.ini │ ├── xdebug.ini │ └── zip.ini ├── php83 │ ├── curl.ini │ ├── gd.ini │ ├── iconv.ini │ ├── mbstring.ini │ ├── mcrypt.ini │ ├── mysql.ini │ ├── opcache.ini │ ├── openssl.ini │ ├── redis.ini │ ├── sockets.ini │ ├── sodium.ini │ ├── sqlite.ini │ └── xdebug.ini └── php84 ├── curl.ini ├── gd.ini ├── mbstring.ini ├── openssl.ini ├── pcntl.ini └── sodium.ini ~~~