我有一个代码,它一直在使用PHP 5.4但不适用于PHP 5.6。 PDO的一些问题。我的代码在这里:
<?php
session_start();
error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('session.cookie_httponly', 1);
ini_set('session.gc_maxlifetime', 999604800);
ini_set('session.cookie_lifetime', 999604800);
$baseurl = 'http://'.$_SERVER['SERVER_NAME'].'/';
$hostname = $_SERVER['SERVER_NAME'];
//if(!defined('PDO::ATTR_DRIVER_NAME')) { die('PDO unavailable'); }
class connect_data {
static $host = 'localhost'; //хост базы данных
static $username = 'aqq13807'; //логин базы данных
static $password = 'd,8p9\FP%kZDZ)R'; //пароль базы данных
static $db = 'aqq13807_d1'; //имя базы данных
}
class sql {
bla-bla-bla
}
$sql = new sql();
class pdo_connector {
//const DBNAME = 'aqq13807_d1'; //имя базы данных
//const DBLOGIN = 'root'; //логин базы данных
//const DBPASS = 'aq798803'; //пароль базы данных
const MINIMUM_PHP = '5.1.0';
private function check_version() {
if(version_compare(PHP_VERSION, self::MINIMUM_PHP, '<')) {
return 'На вашем сервере должна быть установлена версия PHP ' . self::MINIMUM_PHP . ' или выше для работы с коннектором PDO!';
}
}
public static function transaction($query = null, $op_type) {
self::check_version();
try {
$dbh = new PDO('mysql:dbname='.connect_data::$db, connect_data::$username, connect_data::$password, array( PDO :: ATTR_PERSISTENT => true ));
}
我尝试使用PDO&#34;时出错。 -
警告:使用非复合名称的用户声明&#39; PDO&#39;没有效果 在第3行的bla-bla / testpdo.php中
警告:session_start():无法发送会话缓存限制器 - 标头 已发送(输出从第2行的bla-bla / config.php开始
我也试着写一些类似\ PDO的东西,但它也不起作用。我也一直试图像这样通过php.ini加载pdo
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20100525"
extension = "xcache.so"
extension = "pdo.so"
extension = "pdo_sqlite.so"
extension = "imagick.so"
extension = "pdo_mysql.so"
但是它还没有工作,所以我对phpinfo感到厌烦,看起来PDO就好了。
答案 0 :(得分:0)
是的,问题已经完成,问题是php.ini文件,它已删除,然后一切正常。我不知道为什么,但是我的主持人通过文件通知了我这个动作。