升级到PHP5.3.x后未找到PDO类致命错误
我们进行了服务器升级,将表单5.2.x迁移到PHP5.3.x。我是mysql pdo,代码如下所示,在升级之前可以正常工作升级到PHP5.3.x后未找到PDO类致命错误,php,mysql,pdo,Php,Mysql,Pdo,我们进行了服务器升级,将表单5.2.x迁移到PHP5.3.x。我是mysql pdo,代码如下所示,在升级之前可以正常工作 <?php error_reporting(E_ALL); ini_set('display_errors', '1'); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Database user / pass */ $sql_deta
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Database user / pass
*/
$sql_details = array(
"user" => "",
"pass" => "",
"host" => "",
"db" => ""
);
// This is included for the development and deploy environment used on the DataTables
// server. You can delete this block - it just includes my own user/pass without making
// them public!
if ( is_file($_SERVER['DOCUMENT_ROOT']."/datatables/pdo.php") ) {
include( $_SERVER['DOCUMENT_ROOT']."/datatables/pdo.php" );
}
// /End development include
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Database connection
*/
/* PDO connection */
$db = new PDO(
"mysql:host={$sql_details['host']};dbname={$sql_details['db']}",
$sql_details['user'],
$sql_details['pass'],
array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
)
);
/* mysql_* connection */
/*
if ( ! $db = mysql_pconnect( $sql_details['host'], $sql_details['user'], $sql_details['pass'] ) ) {
header( $_SERVER['SERVER_PROTOCOL'] .' 500 Internal Server Error' );
die( 'Could not open connection to server' );
}
if ( ! mysql_select_db( $sql_details['db'], $db ) ) {
header( $_SERVER['SERVER_PROTOCOL'] .' 500 Internal Server Error' );
die( 'Could not select database' );
}
*/
你能帮我解决什么问题吗
提前感谢,,
Srini。您的phpinfo表未显示PDO节和PDO_mysql节,这意味着您尚未安装PDO。如我的phpinfo所示..请参阅图片您的phpinfo表未显示PDO节和PDO_mysql节,这意味着您尚未安装PDO。如我的phpinfo所示..请参阅图片您从php.ini发布的代码片段不正确有效的配置语法。你是说php.ini,还是说
phpinfo()
?你确定启用了pdo_mysql
?它看起来应该类似于phpinfo()中的extension=pdo_mysql.so
php.ini。不是php.ini,是我的错。服务器管理员非常确定pdo已启用,看起来像是从控制台启用的。浏览器为带有的PHP文件显示了什么?您从PHP.ini发布的代码片段不是有效的配置语法。你是说php.ini,还是说phpinfo()
?你确定启用了pdo_mysql
?它看起来应该类似于phpinfo()中的extension=pdo_mysql.so
php.ini
。不是php.ini,是我的错。服务器管理员非常确定pdo已启用,看起来像是从控制台启用的。浏览器为带有的PHP文件显示了什么?了解其发生的原因吗?从PHP5.1开始,pdo默认启用。如果您仔细查看我的页面,您将看到mysql pdo的安装和驱动程序位置。从PHP5.1开始,pdo在默认情况下处于启用状态。如果您仔细查看我的页面,您将看到mysql pdo的安装和驱动程序的位置。
'--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=/usr/bin/mysql_config' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pdo-mysql=shared' '--with-pdo-sqlite=shared' '--with-pic' '--with-png-dir=/usr' '--with-sqlite=shared' '--with-xpm-dir=/usr' '--with-zlib' '--with-zlib-dir=/usr'
pdo_mysql
pdo_mysql.default_socket => /var/lib/mysql/mysql.sock => /var/lib/mysql/mysql.sock
pdo_sqlite