【发布时间】:2019-08-17 08:00:05
【问题描述】:
我正在学习我用作后端的 Laravel,它带有一个 wordpress 数据库。我正在构建一个 Laravel API 以与 WP 数据库进行通信。 因此,我创建了一个 WP 项目并记下 cPanel 中的数据库设置,然后我用它来更新 Laravel .env 文件。我运行“php artisan serve”,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/
我认为重要的是要提到初始 .env 文件编辑(即使用 cPanel 数据库凭据)以连接到 WP 数据库工作正常。但是我注意到我从 cPanel 下载的 wp-config 文件具有与 cPanel 中的不同的 DB 设置,因此 .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 配置。 (我已将 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' );
我正式陷入困境,任何帮助将不胜感激。
【问题讨论】:
标签: php mysql wordpress laravel