簡體   English   中英

PDO 驅動程序在 Windows 中沒有價值

[英]PDO drivers no value in Windows

php_pdo_mysql.dll無法在機器中啟用。 I have set extension=php_pdo.dll and extension=php_pdo_mysql.dll enabled in php.ini, but when I checked phpinfo() , the item PDO drivers is no value .

而且我在 phpinfo() 中找不到 mysql 信息,但我設置了extension=php_mysql.dll啟用。

怎么了?

當我升級到 PHP 5.4 時,我遇到了同樣的問題。 我有

extension_dir = "ext"

in php.ini and php -m was starting fine and reporting that it loaded pdo_mysql, but when I ran phpinfo.php through apache, the driver was missing.

我通過將extension_dir更改為絕對路徑來修復它。 我猜它在運行 Apache 並使其相對於其他東西時感到困惑。

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "D:/php-5.4.11-Win32-VC9-x86/ext"

請嘗試以下操作:在您的 php.ini 中查找此內容並取消注釋extension_dir = "ext"

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
 extension_dir = "ext"

在控制台嘗試php -m ,它會顯示 PHP 的啟動錯誤。

在 Windows Server 2012、Apache 2.4、php 5.4 安裝上,在嘗試了其他一切改變它的工作后...

PHPIniDir "C:\php\"

PHPIniDir "C:/php/"

……嗯。

檢查 phpinfo() 以確保 php.ini 的路徑與設置的路徑相同。 在 Windows 機器上,通常會創建 php.ini 的多個實例並導致混淆。

此外,從命令行調用 php 會給您一條錯誤消息,其中包含有關它可能無法加載的更多詳細信息。 您嘗試包含的擴展可能與您的 PHP 安裝不兼容。 即它是具有線程安全二進制文件的非線程安全 dll 或者在同時使用 vc9 和 vc6 的地方存在編譯器不匹配。

在 PHP 7.1 x64 上 windows 和 apache 2.4 x64:

extension_dir = "ext" 對我不起作用,

絕對路徑: extension_dir = "C:\DEV\PHP71\ext\" 效果很好

更改 php.ini 配置后,需要重啟 windows 服務中的 Appche 服務器。 然后將加載擴展模塊。 使用以下代碼進行測試: <?php print_r(get_loaded_extensions());?>

我在使用 IIS 的 Windows 上遇到了這個問題。 我的 php.ini 包含以下部分:

[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll
[PHP_PDO]
extension=php_pdo.dll

我只是簡單地選擇了[PHP_PDO_MYSQL][PHP_PDO]部分,並交換了它們的位置,因此[PHP_PDO]排在第一位。 我想申報順序很重要!

Mihai 在 2012 年的評論說:“在控制台中嘗試 php -m,它將顯示 PHP 的啟動錯誤。” 這個建議被證明是最有幫助的。 If there are any errors in the php.ini file, Windows PHP manager (IIS 8) is not very clear about what's wrong with php.ini.

Go 到命令提示符並在提示符處鍵入php -m 彈出消息(警報)會讓您知道任何錯誤,並為這些問題提供行號。 在大多數情況下,我唯一的問題是我在一些不應該這樣做的 php.ini 行上取消了注釋(刪除了分號)。

另一個對我有用的提示是輸入擴展文件夾的完整路徑(請參閱 Jeremy Prine 上面的評論),這有助於“缺少 dll”消息開始在警報框中彈出。

我遇到了同樣的問題,直到我讀到以下內容才被難住:

http://www.artfulsoftware.com/php_mysql_win.html

我正在運行 PHP 5.2 和 Apache 2.2。 我的解決方法是將 libmysql.dll 文件復制到我的 Apache bin 目錄中。

我會向遇到此問題的任何人推薦以下操作過程:1)檢查以確保加載的配置文件在您認為的位置(即 Apache 未使用某些默認 php.ini) - phpinfo() 將提供2) 檢查以確保所有需要的擴展都位於 php\ext 文件夾中,並包含在 php.ini 文件中(最流行的擴展只需取消注釋) 3) 嘗試加載 pdo_sqllite。 如果在重新啟動 Apache 后這出現在 phpinfo() 中,則您已將問題縮小到 Apache 無法加載必要的 mysql 擴展。 4)按照上面鏈接中的說明進行操作。

如果您將PHP 管理器與 IIS 一起使用,請執行以下操作:

  1. 打開 IIS (我通常通過在開始時輸入 IIS 來打開它);啟動 IIS

  2. 雙擊“PHP 管理器”;點擊 PHP 管理器

  3. 點擊“啟用或禁用擴展”;啟用/禁用擴展

  4. 向下滾動以找到您選擇的驅動程序(在我的情況下php_pdo_mysqll.dll ),然后單擊“啟用”;滾動到驅動程序並啟用

  5. 之后,司機應該出現並工作。啟用的驅動程序

  6. 完成,希望這對某人有所幫助。 因為其他答案對我不起作用。

PDO 驅動程序沒有價值 - 您的 dll 條目無法在 php.ini 文件中排序。 檢查 dll 擴展條目列表。

extension=php_pdo_mysql.dll

條目必須放在所有 pdo 條目旁邊。 如同

extension=php_mysql.dll

條目必須放在所有沒有 pdo 條目的旁邊。

啤酒花它有幫助..

我也有這個問題。 我在 Windows 7 機器上有 Apache/2.2.22 (Win32) PHP/5.3.23。 我的解決方案是將 php.ini 文件中的 extension_dir = C:\Program Files (x86)\PHP\ext 更改為 extension_dir = "C:\Program Files (x86)\PHP\ext"。 它只需要添加引號。

我還將 php 目錄添加到 CLASSPATH 中。

檢查 pdo*.dll 文件是否在 OS 目錄中的適當位置,檢查這些文件的引用是否在 php.ini 中啟用,檢查您的 dbconnection 字符串是否正確,重新啟動 ZB6EFD606D118D0F62066E31419FF4

PHP 錯誤 PDO 在 5.4 上不存在

致命錯誤:Class 'DigitalToolBox\PDO' not found in C:\SERVER\www\MyAPP\DigitalToolBox\MysqlConnectionTool.php 上線

您可以看到 pdo 已加載,因為它在此命令的列表中:

print_r(get_loaded_extensions()); 

使用命名空間會發生此錯誤,我們需要在代碼的開頭添加指令:

use PDO;

IF ($this->works) $voteForThis++;

經過大量搜索,我發現了我的問題。 在 php.ini 中,擴展目錄錯誤。 檢查斜線方向。 它應該是反斜杠,如下行所示。 extension_dir = "C:\wamp\bin\php\php8.0.10\ext"

不正確:extension_dir = "C:/wamp/bin/php/php8.0.10/ext"

在 wampserver 中還檢查 phpForApache.ini 是否存在相同的問題。

1.在 php.ini 中,刪除 etxnesion dir 變量中的“目錄”。它可能看起來像這樣:

extension_dir = c:\PHP\ext

  1. 將編輯好的ini文件(php.ini)復制到C:\windows dir

然后重新啟動appache!

完畢!

我在這里得到了提示:

http://wiki.cementhorizon.com/display/CH/Solution+-+Unable+to+load+dynamic+library+C+php+ext+php_mysql.dll+-+the+specified+module+could+not+be+成立

我確保我將c:/php設置為 PATH 變量,然后將適當的 dll 移動到c:/php目錄中(來自c:/php/ext目錄)

現在一切都對我有用,盡管我對在 php 目錄中移動東西並不完全滿意。

暫無
暫無

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

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