在线等,谢谢大家了!!!!Fatal error: Call to undefined function mssql_connect() in

时间:2022-09-23 23:42:55
php+Apache+sqlserver2000,为什么我该了php.ini里的配置,怎么还是不好使呢!sysytem32里也有php_mssql.dll和ntwdblib.DLL,而且ntwdblib.DLL的版本跟sqlserver的版本一致,但是phpinfo.php里查不到php_mssql.dll的信息,而且有个问题,我不知道跟这个有没有关系,就是php.ini里的extension_dir这个变量,extension_dir = "C:/php5/ext" 但是在phpinfo.php里面extension_dir这个项目后面却是C:\php5,这个是问题吗!!!!

23 个解决方案

#1


php.ini里的;extension=php_mssql.dll钱的";"去掉了么?

#2


extension_dir指定你php主目录

#3


主要看一下网上别人配置mysql部分。开启myaql就是把;去掉,然后把dll放到system32下面,好像一般就这样就可以了

#4


去掉了
你的意思就是说extension_dir不一致没问题被

#5


[Wed Jun 02 12:19:14 2010] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Wed Jun 02 12:19:14 2010] [notice] Child 212: Exit event signaled. Child process is ending.
[Wed Jun 02 12:19:15 2010] [notice] Child 212: Released the start mutex
[Wed Jun 02 12:19:16 2010] [notice] Child 212: Waiting for 250 worker threads to exit.
[Wed Jun 02 12:19:16 2010] [notice] Child 212: All worker threads have exited.
[Wed Jun 02 12:19:16 2010] [notice] Child 212: Child process is exiting
[Wed Jun 02 12:19:16 2010] [notice] Parent: Child process exited successfully.
[Wed Jun 02 12:19:21 2010] [notice] Apache/2.2.4 (Win32) PHP/5.2.13 configured -- resuming normal operations
[Wed Jun 02 12:19:21 2010] [notice] Server built: Jan  9 2007 23:17:20
[Wed Jun 02 12:19:21 2010] [notice] Parent: Created child process 5728
[Wed Jun 02 12:19:21 2010] [notice] Child 5728: Child process is running
[Wed Jun 02 12:19:21 2010] [notice] Child 5728: Acquired the start mutex.
[Wed Jun 02 12:19:21 2010] [notice] Child 5728: Starting 250 worker threads.
[Wed Jun 02 12:19:22 2010] [notice] Child 5728: Starting thread to listen on port 80.
这个是Apache里logs里的error信息,能看出点门道吗,谢谢大家了

#6


这些信息里貌似没有你那个函数的相关信息啊

#7


c盘下window目录放过 php.ini么?若放过你看看里面的;extension=php_mssql.dll

#8


那我这个问题怎么解决呀,折磨我好几天了,该找的信息也找了,主要phpinfo.php里查不到php_mssql.dll的信息,这个怪呀!

#9


一般就是将前面的;去掉,没有.dll就复制.dll就行,其他设置的应该不会有啊

#10


重启服务器了么?

#11


回复LZ,php.ini里面是extension_dir = "C:/php5/ext"是配置的你的dll文件所在位置,phpinfo的话内容应该保持php.ini一致才是正确的,照LZ的说法,的确是配置的文件出错了,或者你查找你的php.ini文件,保证位置正确,然后重启再看看。

#12


本帖最后由 xuzuning 于 2010-06-02 13:59:54 编辑
引用楼主 eugenio725725 的回复:
就是php.ini里的extension_dir这个变量,extension_dir = "C:/php5/ext" 但是在phpinfo.php里面extension_dir这个项目后面却是C:\php5

当然有关系,这说明你的 php.ini 没有起作用

httpd.conf
PHPIniDir "c:/php5"

#13


httpd.conf
PHPIniDir "c:/php"这个什么意思呀

#14


引用 13 楼 eugenio725725 的回复:
httpd.conf
PHPIniDir "c:/php"这个什么意思呀


搜索一下你的apache以及php文件夹,看看有几个php.ini,看看你的使用的配置哪一个是跟phpinfo一致或者不一致,php.ini里面内容是否正确,然后修改完再重启。

#15


引用 13 楼 eugenio725725 的回复:
httpd.conf
PHPIniDir "c:/php"这个什么意思呀

表示apache服务器运行PHP时,PHP起作用的配置文件的目录。
相当于配IIS时加的环境变量

#16


改完后,重启apache了没?

#17


引用 14 楼 clud1080 的回复:
引用 13 楼 eugenio725725 的回复:

httpd.conf
PHPIniDir "c:/php"这个什么意思呀


搜索一下你的apache以及php文件夹,看看有几个php.ini,看看你的使用的配置哪一个是跟phpinfo一致或者不一致,php.ini里面内容是否正确,然后修改完再重启。

没有别的php.ini文件,怎么办

#18


php扩展里的php_mssql  勾上了吗?

#19


是不是5.3.x版本的PHP,这个版本已经不能连接2000了

#20


引用 19 楼 a7758521haha 的回复:
是不是5.3.x版本的PHP,这个版本已经不能连接2000了

没说明清楚,不能直接通过php_mssql.dll扩展连接了

#21


为什么去年遇到的问题,我到今年还有这样的问题出现,难道这个bug就不能修复嘛.....

#22


是啊,我现在也遇到同样的问题,还是没有解决。。。。

#23


引用楼主 eugenio725725 的回复:
php+Apache+sqlserver2000,为什么我该了php.ini里的配置,怎么还是不好使呢!sysytem32里也有php_mssql.dll和ntwdblib.DLL,而且ntwdblib.DLL的版本跟sqlserver的版本一致,但是phpinfo.php里查不到php_mssql.dll的信息,而且有个问题,我不知道跟这个有没有关系,就是php.ini里的extension_d……


我也是遇到跟楼主一样的问题,昨天调试一天没有结果,始终提示:Fatal error: Call to undefined function mssql_connect()。但我刚解决掉该问题,下面跟大家分享下解决办法:先是我配置D:\wamp\php\php.ini,即:去掉;extension=php_mssql.dll前的";",再设置mssql.secure_connection = On。第二步我检查ntwdblib.DLL的版本是否与SQL Server2005一致并替换掉(版本2000.2.8.0支持SQL Server2000,版本2000.80.194.0支持SQL Server2005)。第三步我又仔细看了一下phpinfo.php中显示的php.ini位置,发现原来wamp环境加载的是D:\wamp\Apache2\bin\php.ini ,而我却修改了D:\wamp\php\php.ini。问题就在这里!原来是wamp中有两个php.ini,大家一定要仔细看phpinfo.php信息。所以我又重新设置了D:\wamp\Apache2\bin\php.ini ,本地SQL Server2005可以连接了。

#1


php.ini里的;extension=php_mssql.dll钱的";"去掉了么?

#2


extension_dir指定你php主目录

#3


主要看一下网上别人配置mysql部分。开启myaql就是把;去掉,然后把dll放到system32下面,好像一般就这样就可以了

#4


去掉了
你的意思就是说extension_dir不一致没问题被

#5


[Wed Jun 02 12:19:14 2010] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Wed Jun 02 12:19:14 2010] [notice] Child 212: Exit event signaled. Child process is ending.
[Wed Jun 02 12:19:15 2010] [notice] Child 212: Released the start mutex
[Wed Jun 02 12:19:16 2010] [notice] Child 212: Waiting for 250 worker threads to exit.
[Wed Jun 02 12:19:16 2010] [notice] Child 212: All worker threads have exited.
[Wed Jun 02 12:19:16 2010] [notice] Child 212: Child process is exiting
[Wed Jun 02 12:19:16 2010] [notice] Parent: Child process exited successfully.
[Wed Jun 02 12:19:21 2010] [notice] Apache/2.2.4 (Win32) PHP/5.2.13 configured -- resuming normal operations
[Wed Jun 02 12:19:21 2010] [notice] Server built: Jan  9 2007 23:17:20
[Wed Jun 02 12:19:21 2010] [notice] Parent: Created child process 5728
[Wed Jun 02 12:19:21 2010] [notice] Child 5728: Child process is running
[Wed Jun 02 12:19:21 2010] [notice] Child 5728: Acquired the start mutex.
[Wed Jun 02 12:19:21 2010] [notice] Child 5728: Starting 250 worker threads.
[Wed Jun 02 12:19:22 2010] [notice] Child 5728: Starting thread to listen on port 80.
这个是Apache里logs里的error信息,能看出点门道吗,谢谢大家了

#6


这些信息里貌似没有你那个函数的相关信息啊

#7


c盘下window目录放过 php.ini么?若放过你看看里面的;extension=php_mssql.dll

#8


那我这个问题怎么解决呀,折磨我好几天了,该找的信息也找了,主要phpinfo.php里查不到php_mssql.dll的信息,这个怪呀!

#9


一般就是将前面的;去掉,没有.dll就复制.dll就行,其他设置的应该不会有啊

#10


重启服务器了么?

#11


回复LZ,php.ini里面是extension_dir = "C:/php5/ext"是配置的你的dll文件所在位置,phpinfo的话内容应该保持php.ini一致才是正确的,照LZ的说法,的确是配置的文件出错了,或者你查找你的php.ini文件,保证位置正确,然后重启再看看。

#12


本帖最后由 xuzuning 于 2010-06-02 13:59:54 编辑
引用楼主 eugenio725725 的回复:
就是php.ini里的extension_dir这个变量,extension_dir = "C:/php5/ext" 但是在phpinfo.php里面extension_dir这个项目后面却是C:\php5

当然有关系,这说明你的 php.ini 没有起作用

httpd.conf
PHPIniDir "c:/php5"

#13


httpd.conf
PHPIniDir "c:/php"这个什么意思呀

#14


引用 13 楼 eugenio725725 的回复:
httpd.conf
PHPIniDir "c:/php"这个什么意思呀


搜索一下你的apache以及php文件夹,看看有几个php.ini,看看你的使用的配置哪一个是跟phpinfo一致或者不一致,php.ini里面内容是否正确,然后修改完再重启。

#15


引用 13 楼 eugenio725725 的回复:
httpd.conf
PHPIniDir "c:/php"这个什么意思呀

表示apache服务器运行PHP时,PHP起作用的配置文件的目录。
相当于配IIS时加的环境变量

#16


改完后,重启apache了没?

#17


引用 14 楼 clud1080 的回复:
引用 13 楼 eugenio725725 的回复:

httpd.conf
PHPIniDir "c:/php"这个什么意思呀


搜索一下你的apache以及php文件夹,看看有几个php.ini,看看你的使用的配置哪一个是跟phpinfo一致或者不一致,php.ini里面内容是否正确,然后修改完再重启。

没有别的php.ini文件,怎么办

#18


php扩展里的php_mssql  勾上了吗?

#19


是不是5.3.x版本的PHP,这个版本已经不能连接2000了

#20


引用 19 楼 a7758521haha 的回复:
是不是5.3.x版本的PHP,这个版本已经不能连接2000了

没说明清楚,不能直接通过php_mssql.dll扩展连接了

#21


为什么去年遇到的问题,我到今年还有这样的问题出现,难道这个bug就不能修复嘛.....

#22


是啊,我现在也遇到同样的问题,还是没有解决。。。。

#23


引用楼主 eugenio725725 的回复:
php+Apache+sqlserver2000,为什么我该了php.ini里的配置,怎么还是不好使呢!sysytem32里也有php_mssql.dll和ntwdblib.DLL,而且ntwdblib.DLL的版本跟sqlserver的版本一致,但是phpinfo.php里查不到php_mssql.dll的信息,而且有个问题,我不知道跟这个有没有关系,就是php.ini里的extension_d……


我也是遇到跟楼主一样的问题,昨天调试一天没有结果,始终提示:Fatal error: Call to undefined function mssql_connect()。但我刚解决掉该问题,下面跟大家分享下解决办法:先是我配置D:\wamp\php\php.ini,即:去掉;extension=php_mssql.dll前的";",再设置mssql.secure_connection = On。第二步我检查ntwdblib.DLL的版本是否与SQL Server2005一致并替换掉(版本2000.2.8.0支持SQL Server2000,版本2000.80.194.0支持SQL Server2005)。第三步我又仔细看了一下phpinfo.php中显示的php.ini位置,发现原来wamp环境加载的是D:\wamp\Apache2\bin\php.ini ,而我却修改了D:\wamp\php\php.ini。问题就在这里!原来是wamp中有两个php.ini,大家一定要仔细看phpinfo.php信息。所以我又重新设置了D:\wamp\Apache2\bin\php.ini ,本地SQL Server2005可以连接了。