风险操作警告

请做好你的 WordPress 网站或者服务器数据的备份!本文章将会修改 WordPress 的代码文件。如果你的操作失误或者文章有我未发现的严重错误,备份将会救你一命!

备注

本文的步骤是我自己摸索出来的,有错误还请指正。未测试过是否在 WordPress 或者主题更新后是否需要重新安装(应该是需要的)。

这里以用 Composer 为 Sakurairo 添加中文转拼音库 overtrue/pinyin 为例。该库要求 php 版本 >= 8.0.2。

一开始是用 php 7.4 安装的,浪费好长时间

为 WordPress 切换 php 版本

(WordPress 以下简称 WP)

已知 overtrue/pinyin 要求 php 版本 >= 8.0.2,而目前我的 WordPress 运行在 7.4 上,要升级 php 版本。

安装 8.1,老版本不用卸载可以共存。(8.2 宝塔安装不了 exif 扩展 + Sakuraio 兼容性有问题,不能一步到位,这个结论又浪费了我大半个小时)
安装成功,然后修改 WP 的 php 版本

接下来有个大坑,光是修改运行环境还不够,主题目录下的 composer.json 文件还写了安装时的 php 版本号(也就是老的 7.4),而这个优先级比当前实际的 php 版本号还高。所以还要修改:

首先点击根目录进入文件管理

然后进入目录 /www/wwwroot/wordpress/wp-content/themes/<你现在启用的主题名字>,双击修改 composer.json 里面的 php 版本号为你当前 WP 使用的 php 版本号,保存并关闭。

宝塔面板安装 Composer

重要

以下出现的数字 “81” 要替换为你的 php 版本号。

原文链接:http://www.cdcxhl.com/news/201021.html

http://www.idcbaby.com/78089/

多版本php安装 https://blog.csdn.net/weixin_35930794/article/details/115245524


首先要启用被禁用的函数:

启用 WordPress 所使用的 php 对应的 putenv 函数

依葫芦画瓢启用 pcntl_signal、 proc_open,也就是说一共要启用三个函数。

然后查看并复制 WordPress 使用的 php 所在的位置:

图中是在 /www/server/php/81

然后在 ssh 中, cd 跳转到这个php的bin目录下,安装composer:

cd /www/server/php/81/bin/
sudo curl -sS https://getcomposer.org/installer | sudo ./php
图中就是成功了。如果失败了,重试就好了

下载成功后,配置启动文件:(后面的 81 修改成你的php版本号,或者加上你的自定义后缀)

sudo vim /usr/local/bin/composer81

粘贴并保存以下代码(81 按照自己php实际路径修改)(原链接的命令有问题)

#!/bin/bash
/www/server/php/81/bin/php /www/server/php/81/bin/composer.phar $*

然后为刚才保存的文件添加执行权限:(注意修改文件名)

sudo chmod +x /usr/local/bin/composer81

查看是否运行成功:

composer81 -V
出现版本号就是成功了

设置全局镜像源(阿里源):

composer81 config -g repo.packagist composer https://mirrors.aliyun.com/composer/

设置镜像源时提示 SSL Problem 的解决方法

(没有图,在另一台发生的时候没截图,这台服务器没发生,但是还是走一遍流程)

原文:https://blog.csdn.net/l_xing6/article/details/124480381,稍微修改了一下

首先查看证书路径:

/www/server/php/81/bin/php -r "print_r(openssl_get_cert_locations());"
我的在红框里,你的不一定一样

然后去 https://curl.se/docs/caextract.html 下载证书

下面的不是,别下错了

然后在宝塔上传到之前找到的位置,并且按照路径把文件改名为 cert.pem

(如果你不知道 php.ini 在哪里的话)使用下面的命令搜索 php.ini:

sudo find / -iname php.ini -type f
81 就是我们要找的版本号

然后到宝塔里找到这个文件,双击打开编辑,Ctrl + F 搜索 openssl.cafile,改成证书位置:

然后重启 php 服务

就可以重新添加阿里镜像源了。

使用 Composer 安装依赖到当前主题下

在 ssh 中 cd 到当前主题的根目录下,然后安装:

cd /www/wwwroot/wordpress/wp-content/themes/Sakurairo-main
sudo composer81 require overtrue/pinyin:^5.0

这个时候就算安装成功了。但是还没完,这个时候你在当前主题的 functions.php 里面写代码是引用不了安装完的第三方包的。

使当前主题的 functions.php 可调用依赖

原文:https://dev.to/phpprefixer/new-tutorial-using-php-composer-in-the-wordpress-ecosystem-4bmp

备注

修改只对这个被改的主题生效,并且更新主题可能会丢失更改。也许可以用子主题?

将下面这行代码添加到 functions.php 文件的最后一行:

require_once __DIR__.'/vendor/autoload.php';
一个主题只需要添加一次这行代码,之后用 Composer 安装其他依赖不需要再次添加。

注意

不要把这行代码放在 Code Snippets 插件里作为代码块使用,只有在 functions.php 里面才行。(如果你有解决方法请告诉我)

现在,可以在 functions.php 或者在 Code Snippets 里面调用这个拼音依赖了。