给macOS下的PHP集成环境之MxSrvs升级PHP7.4.6到7.4.29 顺手解决composer不能https的BUG

疫情在家也是闲出屁来了…
前几天发现了MxSrvs这个集成环境包,相比macOS下其它的PHP集成解决方案,这个真的不要太好用了,只可惜不是开源的,但想必自己也没撒见不得人的高级机密,用着吧…

解决composer不能创建项目的bug

使用composer的时候,提示

[Composer\Downloader\TransportException]
curl error 1 while downloading https://getcomposer.org/versions: Protocol “https” not supported or disabled in libcurl

检查本地curl是否支持https

curl -V|grep https

Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp

可以看到是支持的

检查PHP扩展是否支持SSL

php -m|grep ssl
openssl

也是可以的…

奇怪了… 打印一下phpinfo, curl参数中居然ssl是no…

那看来只能重装下curl扩展了

升级系统curl版本【可忽略】

下载https://curl.se/download.html官方下载最新的,我下载的是curl-7.82.0
解压不说了,进目录,执行,需要注意的是这个openssl路径,我用的是集成环境中的,也就是编译php时用的那个

./configure --with-php-config=/Applications/MxSrvs/bin/php/bin/php-config --with-openssl=/Applications/MxSrvs/libs/_openssl/1.1.1g

完事儿你应该可以看到类似这样的界面

然后make && make install完成更新

升级PHP版本

它的PHP版本是 7.4.6,我想将它升级到最新的7.4.29,至于PHP8嘛… 我还没准备好大量项目中使用,所以先搁一下

我的macOS中使用brew更新了我的curl,所以上面忽略的步骤我是没做的,我直接将我/usr/local/Cellar/curl/目录中curl的文件夹拷到了/Applications/MxSrvs/libs/_curl下,然后编译参数中修改了一下对应的版本号.

第一步,当然是去php.net官方下载源码包,这就不多说了

第二步,解压本地,编译安装

./configure --prefix=/Applications/MxSrvs/bin/php --with-config-file-path=/Applications/MxSrvs/bin/php/etc --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv=/Applications/MxSrvs/libs/_libiconv/1.16 --with-zlib --with-curl --with-jpeg --with-freetype --with-openssl --with-mhash --with-gettext=/Applications/MxSrvs/libs/_gettext/0.20.2 --with-pear --without-gdbm --enable-gd --enable-mbstring --enable-ftp --enable-bcmath --enable-sockets --enable-xml --enable-mbregex --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-fpm --disable-fileinfo --disable-rpath PKG_CONFIG_PATH=/Applications/MxSrvs/libs/_libxml/2.9.9/lib/pkgconfig:/Applications/MxSrvs/libs/_openssl/1.1.1g/lib/pkgconfig:/Applications/MxSrvs/libs/_sqlite/3.31.1/lib/pkgconfig:/Applications/MxSrvs/libs/_curl/7.82.0/lib/pkgconfig:/Applications/MxSrvs/libs/_zlib/1.2.11/lib/pkgconfig:/Applications/MxSrvs/libs/_libpng/1.6.37/lib/pkgconfig:/Applications/MxSrvs/libs/_jpeg/9d/lib/pkgconfig:/Applications/MxSrvs/libs/_freetype/2.10.2/lib/pkgconfig:/Applications/MxSrvs/libs/_oniguruma/6.9.5/lib/pkgconfig:/Applications/MxSrvs/libs/_libgd/2.3.0/lib/pkgconfig:

执行完上面的一通操作后,无误的情况下,你就可以make && make install

完成后重新一下PHP就可以了
phpinfo已经变成了7.4.29,可是这个软件界面这儿显示的是7.4.6,我也不知道它在哪改,不过这不重要…

然后新编译的版本中curl的ssl也是正常开启的,现在就可以愉快的使用composer