用 web 方式调用 http://localhost/test.php, 执行正常, 显示"连接成功".
但用 dos command 命令行的方式调用 d:/php/php.exe test.php 却显示连接失败, 错误信息为: Fatal Error: undefined function mysql_connect()
很显然, 在 dos command 命令行的环境下,mysql 的模块没有被调用。方法弄尽, 仍无法解决. 百思不得其解. 后来, 用写了个脚本, 看看 php 的配置, 在两个环境下有什么不同:
test.php
<?
echo phpinfo();
?>
仔细查看两个环境下 phpinfo() 输入的 php 配置信息,终于发现了问题所在:
Web 方式 http://localhost/test.php 方式调用时, 其 Configuration File (php.ini) Path 显示为 C:WINDOWSphp.ini。
DOS COMMAND 命令行方式 d:/php/php.exe test.php 调用时, 其 Configuration File (php.ini) Path 为 d:phpphp.ini。
在web下使用mysql_connect正常但是在DOS报错。主要原因是,我们在d:\php下和c:\windows下都有个php.ini 而为了是php在不同环境下都能使用,我们尽量将d:\php下的php.ini改名,使之不同。
发现漏了一点
就是c盘下 php.ini 里面配置路径的问题