1. 首先查看PHP是否开启OpenSSL扩展
php -m
没有!
查看php.ini文件所在位置
php -i | grep php.ini
2. 添加OpenSSL扩展
- 参考:https://www.52jscn.com/web/2013/05/4592.shtml
先看有没有对应版本的PHP的安装包在服务器上
locate tar.gz
重新编译openssl.so
将安装包复制到/tmp目录下
cp /usr/local/src/php-7.3.27.tar.gz /tmp/
cd /tmp
解压安装包
tar -zxvf php-7.3.27.tar.gz –
cd /tmp/php-7.3.27/ext/openssl
查找phpize所在位置
whereis phpize
必须是linux的php对应的phpize
/usr/local/bin/phpize
直接运行回报错,找不到config.m4,需要先运行如下指令(此时应该在 /tmp/php-7.3.27/ext/openssl目录下执行)
mv config0.m4 config.m4
/usr/local/bin/phpize
编译安装(/usr/local/bin/php-config这是linux的php对应的php-config,可直接用:locate php-config查询文件所在位置)
./configure --with-openssl --with-php-config=/usr/local/bin/php-config
make
make install
vim /usr/local/lib/php.ini – 添加扩展
查看是否有开启openssl扩展
php -m
3. 安装openssl依赖包
- 执行安装composer第一步:(①)
php -r "copy(‘https://install.phpcomposer.com/installer’, ‘composer-setup.php’);
报错:
PHP Warning: copy(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in Command line code on line 1
Warning: copy(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in Command line code on line 1
PHP Warning: copy(): Failed to enable crypto in Command line code on line 1
Warning: copy(): Failed to enable crypto in Command line code on line 1
PHP Warning: copy(https://install.phpcomposer.com/installer): failed to open stream: operation failed in Command line code on line 1
Warning: copy(https://install.phpcomposer.com/installer): failed to open stream: operation failed in Command line code on line 1
查到的原因是:服务器缺少openssl-devel依赖包
安装依赖包
yum install openssl-devel
报错:
error: rpmdb: BDB0113 Thread/process 16235/140182777985088 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 - (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
解决:(链接:https://blog.youkuaiyun.com/haohaoxuexiyai/article/details/111027692)
cd /var/lib/rpm
ls
rm -rf __db*
rpm --rebuilddb
重新安装openssl依赖包
yum install openssl-devel
4. 下载CA证书
继续执行①的指令,错误提示依然是一样的,后面又查了一下,可能是因为没有CA证书,于是去下载一个证书,下载地址:https://curl.se/ca/cacert.pem
,我下载到了/usr/local/bin/
目录下
将证书配置到php.ini中:
接下来继续安装(按照官网的步骤来:https://pkg.xyz/#how-to-install-composer):
- 第一步:下载安装脚本 - composer-setup.php - 到当前目录。
php -r “copy(‘https://install.phpcomposer.com/installer’, ‘composer-setup.php’);”
- 第二步:执行安装过程。
php composer-setup.php
- 第三步:删除安装脚本。
php -r “unlink(‘composer-setup.php’);”
- 第四步:全局安装
mv composer.phar /usr/local/bin/composer
5.查看composer是否安装成功
composer -V
提示:Do not run Composer as root/super user! See https://getcomposer.org/root for details
解决方案:
创建一个新用户
useradd composer_user
passwd composer_user
切换到这个用户
su composer_user
再查看composer信息
composer -V