簡體   English   中英

PHP啟動:無法加載動態庫

[英]PHP Startup: Unable to load dynamic library

我正在嘗試使用Firebird 2.5.2.26539:

  • Windows 8
  • Apache 2.2.22
  • PHP 5.4.10

當我在php中啟用firebird的擴展時:

- extension=php_interbase.dll
- extension=php_pdo_firebird.dll

我收到這些錯誤:

[2012年12月26日12:08:11 UTC] PHP警告:PHP啟動:無法加載動態庫'C:\\ Program Files(x86)\\ PHP \\ ext \\ php_interbase.dll' - 無法找到指定的模塊。 在第0行的未知中

[26-Dec-2012 12:08:13 UTC] PHP警告:PHP啟動:無法加載動態庫'C:\\ Program Files(x86)\\ PHP \\ ext \\ php_pdo_firebird.dll' - 無法找到指定的模塊。 在第0行的未知中

如果我在命令行中使用PHP -a,則錯誤消息不同:找不到fbclient.dll。

我運行了flamerobin並打開了數據庫。 所以我將fbclient.dll復制到PHP根路徑。 然后錯誤變為:

[2012年12月26日11:55:46 UTC] PHP警告:PHP啟動:無法加載動態庫'C:\\ Program Files(x86)\\ PHP \\ ext \\ php_interbase.dll' - %1不是有效的Win32應用。 在第0行的未知中

[2012年12月26日11:55:46 UTC] PHP警告:PHP啟動:無法加載動態庫'C:\\ Program Files(x86)\\ PHP \\ ext \\ php_pdo_firebird.dll' - %1不是有效的Win32應用。 在第0行的未知中

任何人都可以幫我這個嗎? 我懷疑這個版本的Firebird仍然沒有為PHP做出正確的擴展。 謝謝。

我正在重復Nenhum Pois以上的評論(有些人可能會錯過),因為它是問題的真正解決方案:

問題是來自FB 64位安裝的fbclient.dll。 我剛從32位獲得fbclient.dll,將其復制到PHP根目錄,它解決了問題

Cli和Apache PHP運行兩個不同的配置文件。 這將解釋CLI模式中缺少的錯誤消息。 可能性是此應用程序的擴展,而不是存儲在PHP擴展文件夾中。 我不熟悉Windows下的配置,因此您可能需要谷歌搜索Windows PHP擴展目錄並確保您的擴展文件存在。

根據您的錯誤判斷路徑是“C:\\ Program files(x86)\\ PHP \\ ext \\

在嘗試加載擴展文件之前,請確保您的擴展文件存在。

如果在Windows上運行,請檢查您的擴展是否使用與PHP解釋器相同的Visual Studio編譯器版本進行編譯。

從PHP下載頁面https://windows.php.net/download

  • PHP 7.3 = VC15
  • PHP 7.1 = VC14
  • PHP 5.6 = VC11

雖然示例的MongoDB擴展是使用VC11編譯的,但請參閱https://pecl.php.net/package/mongo/1.6.16/windows並檢查-vc11-的DLL列表文件名

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM