You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel所需PHP扩展已安装但VPS服务器无法加载求助

问题:AlmaLinux 9上PHP 8.3扩展已安装但未加载,导致Laravel 10部署失败

我在AlmaLinux 9系统上运行PHP 8.3版本,本地Windows机器上的Laravel 10项目可正常运行,满足Laravel官方文档的所有要求,但部署到VPS后无法正常运行。通过SSH执行php -m发现缺少mbstring等多个扩展,但用sudo dnf安装时提示这些扩展已安装。

安装扩展的终端输出

[user@235 ~]$ sudo dnf install php-bcmath php-curl php-fileinfo php-mbstring php-mysqlnd php-pdo_mysql php-zip
[sudo] password for user:
Last metadata expiration check: 4:25:36 ago on Fri 22 Dec 2023 01:05:30 AM UTC.
Package php-bcmath-8.3.1-1.el9.remi.x86_64 is already installed.
Package php-common-8.3.1-1.el9.remi.x86_64 is already installed.
Package php-common-8.3.1-1.el9.remi.x86_64 is already installed.
Package php-mbstring-8.3.1-1.el9.remi.x86_64 is already installed.
Package php-mysqlnd-8.3.1-1.el9.remi.x86_64 is already installed.
Package php-mysqlnd-8.3.1-1.el9.remi.x86_64 is already installed.
Package php-pecl-zip-1.22.3-1.el9.remi.8.3.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

VPS上php -m输出

[root@235 ~]# php -m
[PHP Modules]
Core
ctype
date
dom
filter
ftp
hash
json
libxml
openssl
pcntl
pcre
Phar
posix
random
readline
Reflection
session
SimpleXML
SPL
standard
tokenizer
xml
xmlreader
xmlwriter
xsl
zlib

[Zend Modules]

本地Windows机器php -m输出

PS C:\Users\KlemLloydMwenya\webapps\my-app\backend\be-a> php -m
[PHP Modules]
bcmath
calendar
Core
ctype
curl // <--- 这里存在
date
dom
fileinfo
filter
hash
iconv
json
libxml
mbstring // <--- 这里存在
mysqlnd
openssl
pcre
PDO // <--- 这里存在
pdo_mysql // <--- 这里存在
Phar
random
readline
Reflection
session
SimpleXML
SPL
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib

[Zend Modules]

已尝试的解决方法

  • 在php.ini(路径/opt/cpanel/ea-php83/root/etc/php.ini)中添加扩展配置,执行/sbin/service httpd restart、sudo systemctl restart httpd重启服务,手动重启及重启WHM系统;
  • 参考过同类问题。

解决建议

  1. 确认CLI与HTTPD使用的PHP版本一致性
    执行命令查看CLI版本:

    php -v
    

    在网站根目录创建phpinfo.php文件,内容如下:

    <?php phpinfo(); ?>
    

    访问该文件查看HTTPD使用的PHP版本。若版本不一致,说明CLI用的是系统默认PHP,需切换到ea-php83:

    sudo alternatives --set php /opt/cpanel/ea-php83/root/usr/bin/php
    
  2. 检查扩展配置文件是否存在
    进入ea-php83的扩展配置目录:

    cd /opt/cpanel/ea-php83/root/etc/php.d/
    

    查看是否存在20-bcmath.ini、20-mbstring.ini等对应扩展的配置文件。若不存在,手动创建(以mbstring为例):

    echo "extension=mbstring.so" > 20-mbstring.ini
    

    同理创建其他缺失扩展的配置文件,完成后重启服务:

    sudo systemctl restart httpd
    
  3. 用cPanel专属工具重新安装扩展
    cPanel环境建议使用ea-php工具安装扩展,而非直接用dnf:

    sudo /usr/local/cpanel/bin/ea_install_module php83-bcmath php83-curl php83-fileinfo php83-mbstring php83-mysqlnd php83-pdo_mysql php83-zip
    

    安装完成后重启相关服务:

    sudo systemctl restart httpd
    sudo systemctl restart ea-php83-php-fpm
    
  4. 验证扩展加载状态
    再次执行php -m查看CLI扩展加载情况,同时刷新phpinfo.php页面确认HTTPD的扩展是否正常加载。


内容的提问来源于stack exchange,提问作者Klem Lloyd Mwenya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 12:58:15