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}
答案 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',