我正在尝试设置一个亚马逊服务器来显示我的 php 文件,用于我的其中一门课程的期末考试。我跟着本教程进行设置,当我尝试运行我的代码时,出现“致命错误:未找到类‘PDO’”。
我尝试运行sudo yum install php-pdo
但遇到错误说Error: php56-common conflicts with php-common-5.3.29-1.8.amzn1.x86_64
我已阅读一些内容说要更改 php.ini 文件但我不确定如何执行此操作。
我也尝试使用mysql_connect
命令执行此操作并出现类似的错误。
编辑:我尝试删除 php5.3,但系统提示未安装,因此我删除了 php* 并安装了 php56,但仍然得到与之前尝试安装时相同的结果。顺便提一下,如果有更简单的方法可以在服务器上运行代码,则不必在 Amazon 实例上运行
答案1
我也遇到过这种情况。问题是 amazon 正在尝试安装旧版本的 php/mysql。您需要指定需要安装哪个版本。要为 php 5.6 安装 php-mysql,请发出此命令。
sudo yum -y install php56-mysqlnd
如果您愿意,可以安装旧版本。
答案2
首先检查 PHP 是如何编译的,只需创建一个新的 .php 文件,其中包含以下内容:
<?php echo phpinfo(); ?>
在浏览器中运行该文件,文件顶部会告诉你 PHP 是否使用诸如 '--enable-pdo=shared'、'--with-pdo-mysql=shared'、'--with-pdo-sqlite=shared' 之类的标志进行编译
如果它已被编译,您确实需要在 php.ini 文件中启用它。您可以使用以下命令找到该文件的位置:
find / -name 'php.ini'
使用以下命令编辑该文件:
vi /path/to/that/php.ini
然后确保它包含:
extension=pdo.so
extension=pdo_mysql.so
请记住重新启动您的 webserver/php 以使此更改生效。