php - Laravel 项目无法连接到 Wordpress 数据库

标签 php mysql wordpress laravel

我正在学习 Laravel,我将其用作后端,并带有 WordPress 数据库。我正在构建 Laravel API 来与 WP 数据库进行通信。 因此,我创建了一个 WP 项目并记下 cPanel 中的数据库设置,然后用它来更新 Laravel .env 文件。我运行了“php artisanserve”,laravel 页面就在那里。一切都很好,花花公子。因此,我继续在 Laravel 项目中添加 WordPress 文件,并使用 Define('WP_USE_THEMES', false); 在 Laravel public/index.php 文件中配置 WordPress然后需要 wp-blog-header.php 文件...我收到一条错误,说 wp-config 文件丢失。因此,我从 WP cPanel 下载了 wp-config.php 文件,并将其添加到 Laravel wordpress 文件夹中,保留 wp-config-example.php 文件不变。这给我带来了数据库错误:“连接数据库连接时出错”。但奇怪的是,我的 WordPress 站点包含我尝试连接 Laravel 的数据库,加载正常,没有错误,错误仅出现在 Laravel 的 localhot:8000 上。我不确定这是 WP 还是 Laravel 问题,但我尝试过使用任一方法进行调试。

设置:Wordpress 5.1.1、PHP7.2.1 Laravel5+

我在这里和谷歌上尝试了一些解决方案,但没有成功。例如 problems with database connection in laravel 5

https://www.rosehosting.com/blog/error-establishing-a-database-connection/

https://www.wpbeginner.com/wp-tutorials/how-to-fix-the-error-establishing-a-database-connection-in-wordpress/

我认为值得一提的是,用于连接到 WP 数据库的初始 .env 文件编辑(即使用 cPanel 数据库凭据)运行良好。但我注意到我从 cPanel 下载的 wp-config 文件的数据库设置与 cPanel 中的数据库设置不同,因此 .env 也不同,数据库名称除外。所以我编辑了 wp-config 使其看起来像 .env,反之亦然,仍然没有骰子。有什么解决办法吗?

这是使用 cPanel 凭据的 .env 文件。

DB_CONNECTION=mysql
DB_HOST=sql201.epizy.com
DB_PORT=3306
DB_DATABASE=epiz_23436343_w767
DB_USERNAME=epiz_23436343
DB_PASSWORD=KJYN75fiOnM5S

这是 wp-config.php。 (我已将 cPanel 和原始凭据留在那里进行比较,但我根据需要进行了注释)

/** The name of the database for WordPress */
define( 'DB_NAME', 'epiz_23436343_w767' );

/** MySQL database username */
define( 'DB_USER', '23436343_3' );
define( 'DB_USER', 'epiz_23436343' );
/** MySQL database password */
define( 'DB_PASSWORD', '(po5n5S(85' );
define( 'DB_PASSWORD', 'KJYN75fiOnM5S' );

/** MySQL hostname */
define( 'DB_HOST', 'sql201.byetcluster.com' );
define( 'DB_HOST', 'sql201.epizy.com' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );

我正式陷入困境,任何帮助将不胜感激。

最佳答案

larwell 需要不同的配置格式,例如版本 4.2 :

'mysql' => array(
    'read' => array(
        'host' => '192.168.1.1',
    ),
    'write' => array(
        'host' => '196.168.1.2'
    ),
    'driver'    => 'mysql',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),

如果您愿意,可以包含在 larewel config wp config 中,并使用 wp 约束

关于php - Laravel 项目无法连接到 Wordpress 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55365568/

相关文章:

wordpress - 如果菜单项与顶部菜单中的相同,add_submenu_page 不会显示子菜单

php - 从php中的数组中删除整行

PHP - 用于不常更新信息的 MySQL 调用或 JSON 静态文件

php - 我如何使用 linkedin api 发送消息/通知?

mysql - 将 mysql 与 hive 结合使用

mysql - 我可以截断 Magento 数据库中的 sales_flat_quote 表吗?

MySQL 命令在大表上的执行时间很长

php - 使用MySQL数据库中的数据填写PDF表单

php - 通过 PHP 添加 WordPress 帖子

php - WordPress 查询