Windows下MAMP环境通过BAT运行PDO MySQL脚本提示找不到驱动的解决方法
解决MAMP下定时运行PHP脚本PDO无法找到MySQL驱动的问题
问题原因
网页端运行时,PHP使用的是MAMP配置好的环境(已加载pdo_mysql扩展),但通过bat直接调用php.exe时,可能加载了错误的php.ini文件,或者未开启pdo_mysql扩展,导致驱动缺失。
解决步骤
确认PHP加载的php.ini路径
打开命令提示符,执行以下命令:"C:\MAMP\bin\php\php7.0.0\php.exe" --ini查看输出中的
Loaded Configuration File,确认是否为MAMP对应的配置文件(通常MAMP的php.ini在C:\MAMP\conf\php7.0.0\php.ini,而非PHP目录下的默认文件)。修改正确的php.ini开启PDO扩展
找到上述步骤确认的php.ini文件,打开后搜索以下行:;extension=pdo_mysql去掉行首的分号
;,保存文件。同时确认C:\MAMP\bin\php\php7.0.0\ext目录下存在php_pdo_mysql.dll文件。在bat脚本中配置环境变量
修改你的bat脚本,先添加PATH环境变量配置,确保PHP能找到扩展依赖:set PATH=C:\MAMP\bin\php\php7.0.0;C:\MAMP\bin\php\php7.0.0\ext;%PATH% "C:\MAMP\bin\php\php7.0.0\php.exe" -f C:\MAMP\htdocs\writetomysql.php验证扩展是否加载成功
创建一个测试脚本check_ext.php,内容如下:<?php var_dump(in_array('pdo_mysql', get_loaded_extensions())); ?>用bat运行该脚本,若输出
bool(true)则说明扩展已正确加载。
内容的提问来源于stack exchange,提问作者Abraham
相关产品推荐
相关产品推荐

