web-dev-qa-db-fra.com

Comment diagnostiquer une erreur interne du serveur?

J'essayais d'héberger un projet zend-framework sur un nouveau fournisseur d'hôte. Après avoir tout téléchargé et configuré la connexion à la base de données, j'ai rencontré le message Internal Server Error. Mon fournisseur de services m'a dit qu'ils n'installaient pas zend-framework mais j'ai intégré celui-ci en tant que bibliothèque dans le projet.

enter image description here

Lorsque j'ai testé le téléchargement du serveur html, le fichier fonctionne correctement.

Puisque je n'ai pas le privilège d'accès au serveur Apache, comment puis-je résoudre ce problème?

journal des erreurs:

#0 /home/myweb/public_html/library/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 /home/myweb/public_html/library/Zend/Db/Adapter/Abstract.php(448): Zend_Db_Adapter_Pdo_Mysql->_connect()
#2 /home/myweb/public_html/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SET NAMES 'utf8...', Array)
#3 /home/myweb/public_html/application/Bootstrap.php(144): Zend_Db_Adapter_Pdo_Abstract->query('SET NAMES 'utf8...')
#4 /home/myweb/public_html/library/Zend/Application/Bootstrap/BootstrapAbstract.php(666): Bootstrap->_initDb()
#5 /home/myweb/public_html/library/Zend/Application/Bootstrap/BootstrapAbstract.php(619): Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('db')
#6 /home/myweb/public_html/library/Zend/Application/Bootstrap/BootstrapAbstr in /home/myweb/public_html/library/Zend/Db/Adapter/Pdo/Abstract.php on line 112
[11-Jul-2011 07:35:51] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so' - /usr/local/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so: undefined symbol: php_pdo_unregister_driver in Unknown on line 0
[11-Jul-2011 07:35:51] PHP Fatal error:  Uncaught exception 'Zend_Db_Adapter_Exception' with message 'The mysql driver is not currently installed' in /home/myweb/public_html/library/Zend/Db/Adapter/Pdo/Abstract.php:112
Stack trace:
5
Achu

Votre journal des erreurs indique que Zend Framework ne parvient pas à trouver le pilote PDO MySQL nécessaire pour se connecter au serveur MySQL. Cela pourrait être pour deux raisons:

  1. Il est possible que votre serveur exécute une ancienne version de PHP. (La classe PDO est uniquement incluse dans PHP 5.1 ou version ultérieure.) Vérifiez la version que vous exécutez en créant un fichier nommé 'info.php' contenant le code suivant et en l'ouvrant dans votre navigateur:

    <?php phpinfo(); ?>
    

    Supprimez ce fichier dès que vous avez vérifié la version PHP afin que personne ne puisse y accéder. Si vous n'utilisez pas PHP 5.1, demandez à votre hébergeur de l'installer pour vous. Si vous utilisez PHP 5.1, lisez la suite.

  2. Votre société d’hébergement n’a pas installé le pilote PDO MySQL. Vous pouvez les contacter avec le contenu de votre journal des erreurs et leur demander d'installer le pilote, ou utiliser une autre société d'hébergement incluant le pilote PDO MySQL (ou, mieux encore, une société nommant spécifiquement le framework Zend dans la liste des modules pris en charge. ).
4
Nick

De ma lecture du message d'erreur:

Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so'

On dirait que certaines extensions de votre serveur sont manquantes. Je vous suggère de payer un supplément pour un serveur privé virtuel sur lequel vous pourrez les installer.

0
ʍǝɥʇɐɯ