2016-08-05 2 views
1

J'ai un code qui avait fonctionné sur PHP 5.4 mais qui ne fonctionnait pas sur PHP 5.6. quelques problèmes avec PDO. Mon code est ici:Classe PDO introuvable sur l'hébergement partagé

<?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)); 
     } 

Et j'ai erreur quand j'essayer "utiliser AOP" -

Avertissement: L'instruction use avec le nom non-composé 'AOP' n'a pas d'effet dans bla- bla/testpdo.php sur la ligne 3

Warning: session_start(): ne peut pas envoyer limiteur de cache de session - têtes déjà envoyé (sortie commencé à bla-bla/config.php sur la ligne 2

J'essaie aussi d'écrire quelque chose comme \ PDO mais ça ne marche pas non plus. J'avais aussi la tentative de chargement via pdo php.ini comme celui-ci

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" 

mais pas aussi travailler, donc je cheked phpinfo, il ressemble à evething ok avec AOP.

+0

Vous n'avez pas besoin d'utiliser 'PDO'. C'est automatiquement inclus. – aynber

+0

Je ne vois pas vraiment 'utiliser PDO' dans ce script de toute façon ..?! – CD001

+0

À la troisième ligne de testpdo.php? – Bert

Répondre

0

Oui, la question a été finie, un problème était le fichier php.ini, il a été supprimé et tout fonctionne correctement. Je ne sais pas pourquoi, mais mon hébergeur me signale cette action avec un fichier.