簡體   English   中英

Ubuntu中的蛋糕烘焙失敗

[英]cake bake fails in Ubuntu

嘗試蛋糕烘焙會引發'php_pdo_mysql.dll'問題:

root@ankan-ad:/opt/lampp/htdocs/resource/newbaker/app# Console/cake bake all
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/php_pdo_mysql.dll' - /usr/lib/php5/20121212/php_pdo_mysql.dll: 
cannot open shared object file: No such file or directory in Unknown on line 0

按照此:

Welcome to CakePHP v2.4.6 Console
---------------------------------------------------------------
App : app
Path: /opt/lampp/htdocs/resource/newbaker/app/
---------------------------------------------------------------
Bake All
---------------------------------------------------------------
Error: Database connection "Mysql" is missing, or could not be created.
#0 /opt/lampp/htdocs/resource/newbaker/lib/Cake/Model/ConnectionManager.php(105): DboSource->__construct(Array)
#1 /opt/lampp/htdocs/resource/newbaker/lib/Cake/Console/Command/Task/ModelTask.php(927): ConnectionManager::getDataSource('default')
#2 /opt/lampp/htdocs/resource/newbaker/lib/Cake/Console/Command/Task/ModelTask.php(864): ModelTask->getAllTables('default')
#3 /opt/lampp/htdocs/resource/newbaker/lib/Cake/Console/Command/Task/ModelTask.php(954): ModelTask->listAll('default')
#4 /opt/lampp/htdocs/resource/newbaker/lib/Cake/Console/Command/BakeShell.php(150): ModelTask->getName('default')
#5 /opt/lampp/htdocs/resource/newbaker/lib/Cake/Console/Shell.php(437): BakeShell->all()
#6 /opt/lampp/htdocs/resource/newbaker/lib/Cake/Console/ShellDispatcher.php(207): Shell->runCommand('all', Array)
#7 /opt/lampp/htdocs/resource/newbaker/lib/Cake/Console/ShellDispatcher.php(66): ShellDispatcher->dispatch()
#8 /opt/lampp/htdocs/resource/newbaker/app/Console/cake.php(36): ShellDispatcher::run(Array)
#9 {main}

解決方案:

  1. cakephp主頁,顯示綠色能夠連接到MySql。
  2. 'unix_socket' => '/opt/lampp/var/mysql/mysql.sock'到我的database.php默認數組中沒有幫助
  3. 我檢查了我的php.ini:

我在php.ini文件中做錯了嗎?

以下是php.ini中所有帶有'extension ='的未注釋行
輸出grep -Hrvn ";" /etc/php5 | grep -i "extension=" grep -Hrvn ";" /etc/php5 | grep -i "extension="

/etc/php5/cli/php.ini:4:extension=php_pdo_mysql.dll
/etc/php5/mods-available/opcache.ini:3:zend_extension=opcache.so
/etc/php5/mods-available/pdo.ini:3:extension=pdo.so
/etc/php5/mods-available/readline.ini:3:extension=readline.so
/etc/php5/mods-available/json.ini:3:extension=json.so
/etc/php5/apache2/php.ini:4:extension=php_pdo_mysql.dll

看起來有兩個問題:

  • 您正在嘗試加載DLL,可能已從Windows php.ini復制了這些extension行。 Linux不使用DLL,而且Ubuntu上的PHP通常根本沒有在主ini文件中指定的擴展名。 相反,您只需從標准軟件存儲庫加載所需的擴展
  • 您目前沒有MySQL支持。 運行sudo apt-get install php5-mysql來加載和安裝

作為額外的想法,如果你想看看PHP的可用內容,請嘗試使用apt-cache search php5- - 這將讓你看到你可以加載的所有東西。

暫無
暫無

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

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