侧边栏壁纸
  • 累计撰写 198 篇文章
  • 累计创建 105 个标签
  • 累计收到 36 条评论

Composer\Exception\NoSslException——php如何安装openssl扩展(linux)

神兵小将
2022-04-14 / 0 评论 / 0 点赞 / 71 阅读 / 965 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-04-14,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

问题

今天使用新装的系统linux,安装一个laravel,运行下列命令:

composer create-project laravel/laravel laravel-app

报错如下:

[Composer\Exception\NoSslException]                                                                                             
  The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl extension, you can disable this error, at  
   your own risk, by setting the 'disable-tls' option to true. 

image-1649933229298

这句话的意思是:ssl/tls保护需要openssl扩展,但不可用。如果您不能启用openssl扩展,您可以通过将“disable-tls”选项设置为true来禁用此错误,风险自负。

从字面意思来看,就是php缺少openssl扩展,打开即可。

定位

首先查看php.ini的位置,使用命令:

php -i | grep php.ini

即可看到php.ini的位置,打开编辑即可。
image-1649932936378
从上图可以看出,我的php.ini文件位置为:/usr/local/php8.1/lib/php.ini

编辑配置文件

sudo vim /usr/local/php8.1/lib/php.ini

找到

;extension=openssl

一行,把前边的分号去掉,保存。

再次重试刚才的命令。发现报错如下,可以知道是没有安装组件所导致的。
image-1649934482547

安装OpenSSL组件

下载组件

下载官方php8.1.4的安装包,里面包含OpenSSL,解压。

cd ~/Desktop/php8.1.4/ext/openssl

重命名配置文件

mv config0.m4 config.m4

检索配置

#后面是对应php-config的路径,与php共同路径
./configure --with-openssl --with-php-config=/usr/local/php8.1/bin/php-config 

编译&安装

sudo make &&  sudo make install

image-1649935573895

检测

php -m

image-1649935858505
从上面可以看出openssl扩展已被正确安装。

再次安装laravel测试:
image-1649935978957

完美,已正常工作。

0

评论区