情况:我们开始使用 Lightsail bitnami 是因为它很容易上手,而且我们没有专门的 Linux 管理员/工程师。 虚拟机很快开始托管多个服务。
现在的问题是我们需要摆脱不受支持的 PHP 版本,但 bitnami 建议导出服务,然后导入到较新版本的映像。 这并不像听起来那么简单,因为我们在这个虚拟机中拥有什么以及有多少。 我想在将来开始构建堆栈,但现在我需要升级 PHP。
我尝试以手动方式升级 PHP,即更新/升级操作系统、安装存储库、安装新软件,但这与 bitnami 的自定义配置不太相符。
问题:我需要采取哪些步骤来升级 bitnami 的 Wordpress 映像中的 PHP? 或者至少为我指明正确的方向,因为我无法通过 AWS 文档、Bitnami 文档、r/Bitnami 和 Google 找到任何有关我们情况的文档。
老实说,无法更新当前 lightail 实例上的 php。 最好的方法是使用插件 All in one wp 迁移导出当前的 WordPress 安装。 https://wordpress.org/plugins/all-in-one-wp-migration/ 然后使用最新的 php 版本运行一个新实例 然后再次安装插件并导入备份。
我成功将我的 bitnami php 7.4 实例(运行 Debian 10/buster)升级到 php 8.1。从 sury.org(为 Ubuntu 提供 ondrej/php 的同一个人)添加存储库,然后配置 apache 以使用新的 php-fpm 进程而不是旧进程,这是一个相当不足为奇的过程。另外,PHP 需要以特殊的方式配置才能与 mysql/mariadb 的 bitnami 设置一起使用...
详情请访问 https://serverok.in/upgrade-php-version-on-bitnami-wordpress-on-aws-lightsail。
注意上面的网页中有一个拼写错误 - fpm 套接字是 ww2.sock,但稍后的示例 apache 配置使用了 www2.sock,而它应该是 ww2.sock。
此外,您可能正在运行 mariadb 而不是 mysql,因此数据库套接字的路径可能略有不同。例如/opt/bitnami/mariadb/tmp/mysql.sock 而不是 /opt/bitnami/mysql/tmp/mysql.sock。
我遇到了同样的问题,在 wamp 服务器中升级 php,而不导出导入站点。我搜索了很多却一无所获。然后我决定自己做,终于得到了一个有效的解决方案。就我而言,我将我的 bitnami WAMP 服务器从 php7.3 升级到 php8.1。以下是要遵循的步骤:
wamp7 > apache2 > conf > httpd.conf
文件。LoadModule php7_module "C:/Bitnami/WAMPST~1.12-/php/php7apache2_4.dll"
。这
“WAMPST~1.12-”在您的情况下可能会有所不同。LoadModule php_module "C:/Bitnami/WAMPST~1.12-/php/php8apache2_4.dll"
。phpinfo()
功能将运行顺利,不会出现错误
您将在浏览器中看到php 8.1。但任何其他代码文件
使用任何扩展或任何复杂的代码可能无法执行。所以
再次停止 apache 服务器并进行以下更改。extension_dir
并根据新的替换文件路径
目的地。例如,如果是
C:/Bitnami/wampstack-8.1.9-0/php/ext 将其替换为您的 wamp 7
地址是您粘贴 php 文件夹的位置,如下所示:
C:/Bitnami/wampstack-7.3.12-0/php/ext.upload_tmp_dir
并更改其路径。你
可能会简单地看到这样的路径 C:/Bitnami/WAMPST~1.9-0/php/tmp
将 WAMPST~1.9-0 替换为 wampstack-7.3.12-0 (或根据您的文件夹名称)。session.save_path
、soap.wsdl_cache_dir
、curl.cainfo
和
openssl.cafile
。post_max_size
或 memory_limit
等彻底测试在服务器上运行的网站,以确保不存在 php 8 中不支持但在 php 7 中运行的代码语法。
如果您的网站崩溃或 apache 服务器无法启动,只需将 php 文件夹重命名为其他名称,并将 php_bak 文件夹重命名为原来的名称,即 php 并恢复步骤 5,6 和 7。一切都会回到原来的状态。