共享主机上找不到PDO类

时间:2016-08-05 12:46:18

标签: php mysql pdo php-5.6

我有一个代码,它一直在使用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就好了。

1 个答案:

答案 0 :(得分:0)

是的,问题已经完成,问题是php.ini文件,它已删除,然后一切正常。我不知道为什么,但是我的主持人通过文件通知了我这个动作。