PHP 8.0.12 升级到 PHP 8.1 - 多个模块错误
PHP 8.0.12 upgrade to PHP 8.1 - multiple module errors
长期以来,我一直在使用 XAMPP 对我的开发工作站进行升级,从各种版本 7s 到 8.012。
升级到8.1好像碰壁了
我已经编辑了 apache 配置以使用新版本的 php。取 php.ini-development
并将其重命名为 php.ini
,然后在我重新启动 apache 后取消注释 openssl 扩展无效:
extension=openssl
php 信息页面中未启用 Openssl:
如果我尝试通过将我的扩展从以前的安装中移过来启用 mongodb,并在 php.ini
中取消对扩展的注释并再次重新启动 apache,我会收到错误消息:
extension=php_mongodb.dll
更新:我现在发现启用任何 PHP 模块在 PHP 8.1.
下不起作用
我可以回滚到以前的 php-8.0.12
版本并再次拥有一个功能齐全的 php。当我回滚到以前的版本时,启用和禁用 PHP 模块仍然有效。它在 PHP 8.1.
下不起作用
如果可能的话,我想及时了解最新版本!
这个版本的 PHP 我做错了什么?为什么我不能启用任何东西?
您正在复制使用旧版本编译的不兼容模块。如果您正在升级 PHP 版本,您将需要一个使用该特定版本的 PHP 编译并适合您的服务器环境的扩展 DLL 文件。您可以从这里 PECL 下载兼容包。下载 .dll 文件并将其放在您的扩展目录中。然后,您需要启用该扩展。
这是 windows 系统 Installing a PHP extension on Windows.
的指南
对于MongoDB,在这里获取https://pecl.php.net/package/mongodb
我必须将完整路径设置为 Windows 上的扩展目录。一旦我这样做并重新启动,我就能够启用/禁用扩展。在 php.ini
中查找此行并根据您的需要进行调整:
; On windows:
extension_dir = "C:\xampp\php-8.1.0\ext\"
此设置似乎只在 Windows 上很重要。按照您想要的方式设置该行,重新启动 apache,您应该一切顺利!
长期以来,我一直在使用 XAMPP 对我的开发工作站进行升级,从各种版本 7s 到 8.012。
升级到8.1好像碰壁了
我已经编辑了 apache 配置以使用新版本的 php。取 php.ini-development
并将其重命名为 php.ini
,然后在我重新启动 apache 后取消注释 openssl 扩展无效:
extension=openssl
php 信息页面中未启用 Openssl:
如果我尝试通过将我的扩展从以前的安装中移过来启用 mongodb,并在 php.ini
中取消对扩展的注释并再次重新启动 apache,我会收到错误消息:
extension=php_mongodb.dll
更新:我现在发现启用任何 PHP 模块在 PHP 8.1.
下不起作用我可以回滚到以前的 php-8.0.12
版本并再次拥有一个功能齐全的 php。当我回滚到以前的版本时,启用和禁用 PHP 模块仍然有效。它在 PHP 8.1.
如果可能的话,我想及时了解最新版本!
这个版本的 PHP 我做错了什么?为什么我不能启用任何东西?
您正在复制使用旧版本编译的不兼容模块。如果您正在升级 PHP 版本,您将需要一个使用该特定版本的 PHP 编译并适合您的服务器环境的扩展 DLL 文件。您可以从这里 PECL 下载兼容包。下载 .dll 文件并将其放在您的扩展目录中。然后,您需要启用该扩展。 这是 windows 系统 Installing a PHP extension on Windows.
的指南对于MongoDB,在这里获取https://pecl.php.net/package/mongodb
我必须将完整路径设置为 Windows 上的扩展目录。一旦我这样做并重新启动,我就能够启用/禁用扩展。在 php.ini
中查找此行并根据您的需要进行调整:
; On windows:
extension_dir = "C:\xampp\php-8.1.0\ext\"
此设置似乎只在 Windows 上很重要。按照您想要的方式设置该行,重新启动 apache,您应该一切顺利!