解决PHP在DOS命令行下却无法链接MySQL的技术笔记


Posted in PHP onDecember 29, 2010

正好今天朋友 xjb 也碰到了这个问题,所以写了这篇笔记,将此问题的描述以及解决记录下。
问题描述:用 web 方式, 可以链接 mysql, 但是在命令行下, 却提示:

Fatal Error: undefined function mysql_connect()

环境: Windows 2003, PHP 5.2.0, MYSQL 5.0, Apache 2.0

在 php.ini 中, 已经将 php_mysql.dll 的模块选项给打开了;测试的脚本也很简单,就一个 mysql_conect 函数,内容如下:

php.ini: 
extension=php_mysql.dll 
测试脚本 test.php 内容如下: 
text.php 
<? 
if ( !mysql_connect(DBHOST, DBUSER,DBPWD) ) 
{ 
echo "连接失败!"; 
exit; 
} 
echo "连接成功!t"; 
?>

用 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。

而在 c:windows 和 d:php 目录下, 都存在一个 php.ini 文件,d:php 目录下的 php.ini 没有将 extension=php_mysql.dll 模块打开.于是将 d:phpphp.ini 删除,只保留 c:windowsphp.ini,问题解决.

总结:在 windows 下安装 php 时, 为了避免配置文件混乱,将安装目录下的 php.ini 复制到 windows 目录下之后,应该将原来安装目录下的 php.ini 文件重命名或删除,以免造成在不同环境下执行时,查找配置文件不一致的情况发生。问题发生的原因一般都是非常非常简单,但查找、排除问题的过程,却是相当的烦人。

PHP 相关文章推荐
汉字转化为拼音(php版)
Oct 09 PHP
elgg 获取文件图标地址的方法
Mar 20 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
基于PHP magic_quotes_gpc的使用方法详解
Jun 24 PHP
PHP 获取文件权限函数介绍
Jul 11 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
May 10 PHP
浅谈discuz密码加密的方式
May 22 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Jun 23 PHP
一个比较不错的PHP日历类分享
Nov 18 PHP
tp5.1 框架join方法用法实例分析
May 26 PHP
window+nginx+php环境配置 附配置搭配说明
Dec 29 #PHP
php防攻击代码升级版
Dec 29 #PHP
php 传值赋值与引用赋值的区别
Dec 29 #PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
Dec 29 #PHP
服务器web工具 php环境下
Dec 29 #PHP
php cookie的操作实现代码(登录)
Dec 29 #PHP
PHP 图片文件上传实现代码
Dec 29 #PHP
You might like
Terran建筑一览
2020/03/14 星际争霸
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
python3多线程知识点总结
2019/09/26 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
2020/02/25 Python
重构Python代码的六个实例
2020/11/25 Python
HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
2013/01/31 HTML / CSS
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
感恩教育活动总结
2014/05/05 职场文书
法学专业求职信范文
2015/03/19 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
MySQL数据迁移相关总结
2021/04/29 MySQL