首页 > 解决方案 > 如何在 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 吗?

标签: phpeclipsepdo

解决方案


我有同样的问题,虽然我使用的是不同版本的 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

根据我阅读的一篇文章,这些顺序很重要。我没有测试任何其他订单,因为这对我有用。


推荐阅读