PDO例外无法找到驱动程序

时间:2017-07-15 06:17:17

标签: php mysql pdo

PDO例外无法找到驱动程序

这是我的功能

class Database extends PDO {

public function __construct() {
    try{
    parent::__construct(DB_TYPE . ':host=' . DB_HOST . ';dbname=' . $DB_NAME, DB_USER, DB_PASS);
    } catch (Exception $e){
        echo '<pre>';
        echo 'Message:' .$e->getMessage().'<br>';
        echo 'Message:' .$e->getTraceAsString().'<br>';
        print_r(get_loaded_extensions());
        echo '</pre>';
    }

}

我正在

无法找到驱动程序

  

0 /home/dltechi/public_html/dating/libs/Database.php(11):
  PDO-&gt; __构造(&#39; DB_TYPE:host = DB ...&#39;,&#39; DB_USER&#39;,&#39; DB_PASS&#39;)1   /home/dltechi/public_html/dating/libs/Model.php(6):
  数据库 - &gt; __构造(&#39; DB_TYPE&#39;,&#39; DB_HOST&#39;,&#39; DB_NAME&#39;,&#39; DB_USER&#39;,   &#39; DB_PASS&#39;)2 /home/dltechi/public_html/dating/libs/Controller.php(22):   Model-&gt; __ construct()3   /home/dltechi/public_html/dating/libs/Bootstrap.php(103):
  Controller-&gt; useModel(&#39; test&#39;,&#39; models /&#39;)4   /home/dltechi/public_html/dating/libs/Bootstrap.php(30):

 Bootstrap->_loadExistingController()
5 /home/dltechi/public_html/dating/index.php(83): Bootstrap->init()
6 {main}

1 个答案:

答案 0 :(得分:0)

我正在使用laragon FOR LARAVEL,并且遇到了同样的问题,但我发现了...而我的php版本是7.2 对于较旧的版本,请取消注释php_pdo_mysql&mysql.dll(确保u使用的是pgsql / pgmysqllite或任何其他版本,并取消注释,对于未使用的版本,则必须使用';'

检查环境变量的路径。和版本> 7

撤消php.ini中除“

”以外的所有扩展名

extension = pdo_mysql

因为最新版本的编码不含'php_pdo_mysql&other .dll'文件,我想我已经对其进行了编译。 ESPECIALLYY FOR {{PDO _ ****}}禁用它们并启用上面的代码..和';'

这样做,您可以将utf8mbg分别更改为utset和charset:

在app \ config \ database.php内部将默认值设置为'mysql'。

------ >> app \ config \ database.php并将默认设置为'mysql'

'mysql'=> [****其他相同,只需更改以下内容]

'charset' => 'utf8',
    'collation' => 'utf8_unicode_ci',