php - 如何在 Eclipse PHP 上使用 PDO MySQL 并在 PHP CLI 应用程序中运行?
问题描述
目前我正在使用 Eclipse PHP IDE 并尝试在这个 IDE 上使用 PDO MySQL。我要尝试的代码是PDO 构造函数:
$dsn = 'mysql:dbname=db_pdo;host=localhost';
$user = 'imbagila';
$password = 'mypass';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
之后,我将在 IDE 中的 PHP CLI 应用程序上运行该代码。但随后它返回这样的错误:
PHP Fatal error: Uncaught Error: Class 'PDO' not found in
/home/imbagila/Documents/php/eclipse/myproject/index.php:8 Stack trace:
#0 {main} thrown in /home/imbagila/Documents/php/eclipse/myproject/index.php on line 8
但是当我在终端(也是 CLI,通过键入)尝试时,php index.php
它什么也不返回,这意味着它成功执行,没有错误。为什么会这样?有人可以提供解决方案,以便我可以在我的 Eclipse IDE 上使用 PDO MySQL 吗?
- 操作系统:Xubuntu 18.04
- PHP版本:7.2
- Eclipse PHP IDE 版本:光子发布 (4.8.0)
- Eclipse 运行配置:
- 运行时 PHP:安装的 PHP (7.2)
- 可执行路径:/usr/bin/php7.2
- PHP ini 文件:/etc/php/7.2/cli/php.ini
- SAPI:CLI 版本 7.2.7
解决方案
我有同样的问题,虽然我使用的是不同版本的 Eclipse。
面向 PHP 开发人员的 Eclipse IDE
版本:2018-09 (4.9.0)
版本号:2018-09-17-1800
(我在 Windows 10 的 Virtualbox 中运行 Ubuntu 18.04。我希望这无关紧要。)
操作系统:Ubuntu 18.04
PHP版本:7.2
运行时 PHP:安装的 PHP (7.2)
可执行路径:/usr/bin/php7.2
PHP ini 文件:/etc/php/7.2/cli/php.ini
经过大量的谷歌搜索、反复试验并产生其他几条错误消息后,我发现以下内容对我有用。
在我的 /etc/php/7.2/cli/php.ini 中,我有这些扩展:
extension=mysqlnd
extension=pdo
extension=pdo_mysql
根据我阅读的一篇文章,这些顺序很重要。我没有测试任何其他订单,因为这对我有用。