2022-05-07 08:45:42
在Azure环境中启用pdo_mysql扩展需针对Web应用实际运行的PHP环境(Kudu/Web服务器)进行配置,而非依赖SSH环境。核心步骤包括定位正确的php.ini文件、修改配置以启用扩展、通过启动命令或自定义文件路径加载配置,最后验证并重启服务。
一、理解Azure中PHP环境差异标准PHP安装路径php.ini通常位于以下路径(取决于PHP版本和Web服务器配置):
/etc/php/{version}/cli/php.ini(CLI环境)
/etc/php/{version}/fpm/php.ini(PHP-FPM环境)
/etc/php/{version}/apache2/php.ini(Apache环境)在Azure中,系统级文件通常不可直接修改,需通过自定义方式覆盖配置。
Azure App Service (Linux) 的配置方法
方法一:在wwwroot目录放置自定义php.ini
在项目根目录(wwwroot)下创建php.ini文件,内容如下:; 启用pdo_mysql扩展extension=pdo_mysql.so; 可选:显式设置扩展目录(通常Azure已预设,无需修改); extension_dir = "/usr/local/lib/php/extensions"
上传文件至wwwroot目录,Azure会自动加载。
方法二:通过应用程序设置指定自定义INI目录
在Azure门户的“配置”→“应用程序设置”中添加键值对:
键:PHP_INI_SCAN_DIR
值:自定义目录路径(如/home/site/ini)。
将自定义INI文件(如pdo_mysql.ini)上传至该目录,内容同上。
在Azure门户的“配置”→“常规设置”中设置启动命令,例如:
重启Web App在Azure门户“概览”→“重启”按钮使配置生效。
验证扩展是否加载
方法一:使用phpinfo()创建临时文件info.php,内容为<?php phpinfo(); ?>,部署后访问yourwebapp.azurewebsites.net/info.php,搜索“pdo_mysql”确认扩展已加载。验证后删除文件以避免安全风险。
方法二:在Kudu终端检查访问Kudu控制台(yourwebapp.scm.azurewebsites.net),进入“Debug console”→“Bash”,运行php -m,确认pdo_mysql在列表中。
在Azure中启用pdo_mysql扩展的关键是针对Web应用实际运行的PHP环境(Kudu/Web服务器)进行配置,而非依赖SSH环境。通过自定义php.ini文件或启动命令,并验证配置生效,可解决因扩展缺失导致的数据库连接问题,确保应用稳定运行。