2015-04-18 103 views
1

我安裝了Zend Server 8,並且需要通過命令行運行使用MySQL的腳本。Zend Server 8 PDO無法通過CLI找到驅動程序

,當我跑我的CLI腳本之一,我得到這個錯誤:

PDOException 
could not find driver 

但是,一切都通過HTTP工作,問題只發生在CLI。我知道CLI有一個不同的php.ini。然而,當我引用php.ini服務器這樣用於HTTP:

php -c/usr/local/zend/etc/php.ini my-script 

我得到這個:

Warning: PHP Startup: Unable to load dynamic library 

    /usr/local/zend/lib/php_extensions/pdo.so' - 
    /usr/local/zend/lib/php_extensions/pdo.so: 
    cannot open shared object file: 
    No such file or directory in Unknown on line 0 

Warning: PHP Startup: Unable to load dynamic library /usr/local/zend/lib/php_extensions/readline.so' - /usr/local/zend/lib/php_extensions/readline.so: 
cannot open shared object file: 
No such file or directory in Unknown on line 0 

Fatal error: Class 'PDO' not found in /var/www/html/vendor/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php on line 155 

我不知道如何解決這個。如果這有所作爲,我使用Ubuntu 14.04

它也可能是說,我第一次像這樣安裝LAMP有用: sudo apt-get install lamp-server^,然後我安裝Zend Server

有什麼建議?

謝謝。

回答

1

最後我只是改變了php別名已安裝由Zend Server這樣的php

alias php=/usr/local/zend/bin/php

這似乎是工作,但仍然在尋找一個更好的/妥善的解決辦法。

+0

這是Teodore的正確解決方案。在Zend Server環境中工作時,您應該始終使用他們提供的php可執行文件。正如您發現的那樣,它將始終使用隨Zend Server一起提供的php.ini文件,這意味着您通過Zend Server更新指令和組件配置,這些更改將寫入正確的php.ini文件,並在您重新啓動Zend服務器。它還允許您使用Zend Debugger(自動附加到他們自己的可執行文件,但不是系統默認的可執行文件)和Zend Studio集成的Z-Ray ... –

+0

感謝您的確認:) –

相關問題