Debian 9手动编译PHP5.6后,如何安装并设置默认PHP5.6-curl
解决Debian 9上手动编译PHP5.6安装curl扩展的问题
因为你是手动编译的PHP5.6,Debian 9的官方仓库确实已经移除了PHP5相关包,所以得通过手动编译扩展的方式来安装curl,下面给你两种靠谱的方案,还有设置默认PHP版本的步骤:
一、先安装编译依赖
首先得确保系统有curl的开发库,否则编译PHP扩展会失败:
sudo apt-get update sudo apt-get install libcurl4-openssl-dev
二、方法1:用PECL快速安装(推荐)
PECL是PHP扩展的官方仓库,只要你的PHP编译时启用了相关组件,就能用它快速装扩展:
- 先确认你手动编译的PHP的
phpize路径(假设你安装在/usr/local/php56,路径不同请自行替换):/usr/local/php56/bin/phpize --version - 直接用pecl安装curl扩展:
安装过程中如果提示是否启用某些选项,直接按回车默认即可。/usr/local/php56/bin/pecl install curl - 安装完成后,编辑你的PHP配置文件
php.ini(一般路径是/usr/local/php56/lib/php.ini),添加一行:extension=curl.so - 重启你的Web服务(比如Apache或PHP-FPM),让配置生效:
# Apache用户执行 sudo systemctl restart apache2 # PHP-FPM用户执行 sudo systemctl restart php5.6-fpm
三、方法2:从PHP5.6源码编译扩展
如果PECL安装失败,或者你更倾向于用源码编译,可以用这个方法:
- 如果你还保留着当初编译PHP5.6的源码包,直接解压进入
ext/curl目录;如果没有,下载和你安装版本完全一致的PHP5.6源码包:cd /path/to/php-5.6.x/ext/curl - 用你自己编译的PHP的
phpize初始化编译环境:/usr/local/php56/bin/phpize - 配置编译参数,指定PHP的配置文件路径:
./configure --with-php-config=/usr/local/php56/bin/php-config --with-curl - 编译并安装:
make && sudo make install - 同样,在
php.ini里添加extension=curl.so,然后重启Web服务。
四、验证安装是否成功
执行以下命令,如果输出curl就说明安装成功了:
/usr/local/php56/bin/php -m | grep curl
五、设置PHP5.6为默认版本
要让系统默认使用你编译的PHP5.6,可以用update-alternatives来配置:
- 添加PHP5.6到系统备选列表:
sudo update-alternatives --install /usr/bin/php php /usr/local/php56/bin/php 100 - 设置为默认版本:
sudo update-alternatives --set php /usr/local/php56/bin/php - 验证默认版本:
应该显示PHP5.6的版本信息。php -v
另外要注意,你的Web服务器(Apache/Nginx)也要配置成使用这个PHP5.6实例:比如Apache要加载libphp5.6.so模块,Nginx要把fastcgi_pass指向PHP5.6-FPM的socket或端口,确保网站实际运行的是PHP5.6。
内容的提问来源于stack exchange,提问作者ECA
相关产品推荐
相关产品推荐

