无量小猪

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

用 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 里面配置路径的问题

Loaded Configuration File 看看php.ini是读哪个路径下的

php.ini 里extension = php_mysql.dll前的分号已经去掉了,extension_dir = "X:/php/ext"也改为了自己ext文件夹的路径,libmysql.dll和php5ts.dll也复制到Windows目录下的system32文件夹下
posted on 2011-05-19 18:06  无量小猪  阅读(445)  评论(2编辑  收藏  举报