如何在Azure Linux服务器中启用pdo_mysql扩展?
Azure Linux Web App PHP 7.4 启用pdo_mysql扩展解决方案
该问题本质是Azure Linux Web App的运行时容器与Kudu/Oryx构建环境的PHP配置相互独立:SSH终端连接的是站点运行时容器,默认加载了pdo_mysql扩展;而Kudu Bash终端与部署用的Oryx构建环境使用独立的PHP配置,默认未加载该扩展。
操作步骤
- 第一步:在Laravel项目根目录新建
ini文件夹,在该文件夹内创建pdo_mysql.ini文件,写入如下内容:
extension=pdo_mysql.so
- 第二步:登录Azure门户,进入对应Web应用的「配置」页面,在「应用设置」分类下新增2条配置项:
- 键:
PHP_INI_SCAN_DIR,值:/usr/local/etc/php/conf.d:/home/site/wwwroot/ini - 键:
PHP_EXTENSIONS,值:pdo_mysql
- 键:
- 第三步:保存配置,等待Web应用自动重启完成。
验证方式
重启完成后进入Kudu的Bash终端,执行php -m | grep pdo,可看到pdo_mysql出现在已加载模块列表中,Oryx构建阶段也会自动加载该扩展,部署时的数据库迁移操作可正常执行。
若需要确认全局配置,可临时在站点public目录下新增phpinfo.php文件,内容为<?php phpinfo(); ?>,访问后查看pdo_mysql扩展的启用状态,验证完成后立即删除该文件避免安全风险。
内容的提问来源于stack exchange,提问作者Toufik
相关产品推荐
相关产品推荐

