我将PHP 5.6.30(https://www.apachefriends.org/de/download.html)升级到PHP 7.0(https://bitnami.com/stack/wamp/installer)
到目前为止,一切都运行良好,当我使用MySQL数据库时,它将我的页面的加载时间从1,2秒减少到约300毫秒.但是现在我正在尝试使用以下简单脚本连接到MSSQL数据库,这对我的旧安装(PHP 5.6)工作正常:
但是现在我的日志中出现了一个错误:
[Thu Dec 10 11:55:26.629956 2015] [:error] [pid 260:tid 968] [client :: 1:63003] PHP致命错误:未捕获错误:在C:\ Bitnami \中调用未定义的函数odbc_connect() wampstack-7.0.0-0\apache2\htdocs\test\query.php:11 \n堆栈跟踪:\n#0 {main} \n在C:\ Bitnami\wampstack-7.0.0-0\apache2\htdocs中抛出第11行的\ test\query.php
首先我想,我的php.ini有一个缺少的扩展名,所以我启用了"extension = php_pdo_odbc.dll"
与5.6版本中的php.ini的区别在于有扩展名:"extension = php_mssql.dll"已启用.但我无法在新的PHP 7.0.ini中找到它们
所以我的意图是没有odbc和PHP 7的现有驱动程序了吗?我在这里找到了一些Linux驱动程序:https: //aur.archlinux.org/packages/php7-odbc/
但是我的Windows环境需要一些东西.
有没有人有同样的问题,并已修复它?
感谢和问候Domi
看看你的php.ini,字符串
extension=php_odbc.dll
似乎在新安装中缺少,至少我不得不在我的新XAMPP安装(7.0.1)中手动添加它,并且意外地只是激活了pdo_odbc.dll
PHP7在默认情况下,有几个默认禁用的模块PHP5。
不过,此扩展很容易,因为扩展名应该已经在\ext\
随附的文件夹中PHP7。您只需要修改php.ini
文件以包含以下行:
extension=php_odbc.dll
上面的线是不已经存在和注释; 您实际上需要添加它!
PHP在其中查找php.ini
文件,C:\Windows\
但它也可能位于您计算机上的其他位置。因此,请同时检查C:\Windows\
和C:\php\
或在其他任何地方安装PHP。
进行更改后,您可以像下面这样从命令行检查结果:
C:\php\php.exe -m
或(在重新启动Web服务器/机器之后)来自如下.phtml
文件:
phpinfo(); ?>
这将输出已启用模块的列表,现在应包括odbc;如果不是,则可能是您修改了错误的php.ini
文件(继续查看)或忘记了重新启动Web服务器/计算机。
如果您使用的是非标准安装,则可以使用如下所示的绝对路径:
extension=C:\php7x64\ext\php_odbc.dll