请做好你的 WordPress 网站或者服务器数据的备份!本文章将会修改 WordPress 的代码文件。如果你的操作失误或者文章有我未发现的严重错误,备份将会救你一命!
本文的步骤是我自己摸索出来的,有错误还请指正。未测试过是否在 WordPress 或者主题更新后是否需要重新安装(应该是需要的)。
这里以用 Composer 为 Sakurairo 添加中文转拼音库 overtrue/pinyin 为例。该库要求 php 版本 >= 8.0.2。
为 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
多版本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 -Vcomposer81 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,改成证书位置:
使用 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 里面调用这个拼音依赖了。
评论