2015-04-02 26 views
5

我试图与WT-NMP安装CakePHP的3.0.0,但我得到这个消息:CakePHP的3无法连接到数据库由于缺少PHP扩展

CakePHP是不能连接到数据库。

数据库驱动程序蛋糕\数据库\驱动程序\ MySQL不能由于使用的 失踪PHP扩展或者未满足的依赖

我的php.ini有这样的:

extension = php_bz2.dll 
extension = php_curl.dll 
extension = php_gd2.dll 
extension = php_imap.dll 
extension = php_mbstring.dll 
extension = php_exif.dll 
extension = php_mysql.dll 
extension = php_mysqli.dll 
extension = php_pdo_mysql.dll 
extension = php_pdo.dll 
extension = php_soap.dll 
extension = php_sockets.dll 
extension = php_sqlite3.dll 
extension = php_openssl.dll 
extension = php_fileinfo.dll 
extension = php_intl.dll 

的app.php有这个

'default' => [ 
     'className' => 'Cake\Database\Connection', 
     'driver' => 'Cake\Database\Driver\Mysql', 
     'persistent' => false, 
     'host' => 'localhost', 
     /** 
     * CakePHP will use the default DB port based on the driver selected 
     * MySQL on MAMP uses port 8889, MAMP users will want to uncomment 
     * the following line and set the port accordingly 
     */ 
     'port' => '3306', 
     'username' => 'root', 
     'password' => '', 
     'database' => 'test', 
     'encoding' => 'utf8', 
     'timezone' => 'UTC', 
     'cacheMetadata' => true, 

我错过了什么?或者这是cakePHP 3.0的bug?或者任何与WT-NMP有关的事情。 我一直坚持了整整一天。

回答

8

靠运气解决了这个!:

extension = php_intl.dll 
extension = php_pdo_mysql.dll 
intl.default_locale = en_utf8 
intl.error_level = E_WARNING 
+0

LeDuyKhanh谢谢。 – Chinmay235 2016-05-23 05:41:51

+2

请解释更多步骤。 – 2016-12-12 09:24:55

3

错误信息是因为extension = php_pdo_mysql.dll未安装和启用php.ini的。如果您没有启用php_intl.dll,您将在检查数据库连接之前收到错误。

您的php.ini表示您启用了php_pdo_mysql.dll,但可能是您需要重新启动CakePHP serverbin/cake server

1

不要只依赖php.ini阅读。只要检查你是否安装了php [v] -mysql扩展。您可以检查基于Windows的服务器中的php扩展目录(最可能是<path to your php installation>/ext)中是否存在php_mysql.dll。在linux中,您可以使用以下命令检查它是否已安装。

yum list installed | grep php 

它会列出所有安装的php扩展。

0

试试这个:

对于PHP 7.0

sudo apt-get install php7.0-mysql 

对于PHP 5:

sudo apt-get install php5-mysql