我正在尝试在PHP中使用Firebird扩展。我的php_pdo_firebird.dll, php_interbase.dll
文件夹中有扩展文件(ext
)。我将它们添加到我的php.ini
文件中,如此
...
[PHP_PDO_FIREBIRD]
extension=php_pdo_firebird.dll
[PHP_INTERBASE]
extension=php_interbase.dll
...
没有错误表示无法加载扩展程序但是每当我打印phpinfo
时,我都看不到其中任何一个列出。我在这里缺少什么?
对于它的价值,我在Windows 7上使用Apache 2.2运行PHP版本5.3.14 TS。
编辑:似乎记录了一些错误,只是我的error_log
设置被覆盖了(对于那些看到这个,请仔细检查C:\ Windows \ Temp \ php- errors.log)。现在它告诉我,只要文件明确存在,就无法找到指定的模块。
PHP Warning: PHP Startup: Unable to load dynamic library
'C:\Program Files (x86)\PHP\ext\php_pdo_firebird.dll' -
The specified module could not be found.
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library
'C:\Program Files (x86)\PHP\ext\php_interbase.dll' -
The specified module could not be found.
in Unknown on line 0
答案 0 :(得分:6)
想出来!好的,首先要把基础知识排除在外:
ext
复制它们那里的文件夹。extension_dir
设置中仔细检查任何拼写错误,例如未转义的反斜杠。这仅适用于值不是“用引号括起来。”现在是政变的恩典。该错误消息极具误导性。此时它应该找到你的DLL,但它缺少一个整体部分:fbclient.dll
,可以在Firebird安装的bin
文件夹中找到。我之前所说的每个地方都说fbclient.dll
放在ext
文件夹中,但只有 才能将它放在PHP
文件夹的根目录中。
希望这有助于未来任性的灵魂:)