加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Laravel 5.8安装错误在database.php第58行:未定义的类常量’MYS

发布时间:2020-12-14 19:34:13 所属栏目:大数据 来源:网络整理
导读:当我尝试安装Laravel 5.8时,它会抛出错误 In database.php line 58: Undefined class constant ‘MYSQL_ATTR_SSL_CA’ 在此之后,我试图在服务器上运行该应用程序.它有时很好.有时它会抛出同样的错误.我也无法在Artisan上运行任何命令.为什么会这样,以及如何
当我尝试安装Laravel 5.8时,它会抛出错误

In database.php line 58:

Undefined class constant ‘MYSQL_ATTR_SSL_CA’

enter image description here

在此之后,我试图在服务器上运行该应用程序.它有时很好.有时它会抛出同样的错误.我也无法在Artisan上运行任何命令.为什么会这样,以及如何解决这个问题?

解决方法

新的Laravel版本有这个错误.查看config / database.php,您将看到如下内容:

'mysql' => [
        'driver' => 'mysql','host' => env('DB_HOST','127.0.0.1'),'port' => env('DB_PORT','3306'),'database' => env('DB_DATABASE','forge'),'username' => env('DB_USERNAME','password' => env('DB_PASSWORD',''),'unix_socket' => env('DB_SOCKET','charset' => 'utf8mb4','collation' => 'utf8mb4_unicode_ci','prefix' => '','prefix_indexes' => true,'strict' => true,'engine' => null,'options' => array_filter([
             PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),]),

安全应用程序有一个环境文件,其中包含特定机器和软件配置的数据,如数据库名称和密码,电子邮件和密码,用于判断它是用于开发还是生产的值等.

Laravel通过全局函数env()将它们加载到常量可访问中.
有一个文件.env包含Laravel中的那些特殊值.所以打开它,在数据库部分的底部,添加您的证书路径值:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog-db
DB_USERNAME=root
DB_PASSWORD=fakepass
MYSQL_ATTR_SSL_CA=relative/or/absolute/path/to/certificate.extension

或者,如果您不打算像我们大多数人那样使用SSL证书进行MySQL连接,那么只需在config / database.php中注释:

'mysql' => [
        'driver' => 'mysql',//'options' => array_filter([
        //     PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),//]),

就像目前在Laravel / Laravel大师:https://github.com/laravel/laravel/blob/master/config/database.php

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读