web-dev-qa-db-ja.com

内部サーバーエラーを診断するにはどうすればよいですか?

新しいホストプロバイダーでzend-frameworkプロジェクトをホストしようとしていました。すべてをアップロードしてデータベース接続を構成した後、Internal Server Errorメッセージが表示されました。私のサービスプロバイダーは、彼らがzend-frameworkをインストールしないと言ったが、フレームワークをライブラリとしてプロジェクトに統合しました。

enter image description here

htmlファイルをアップロードするサーバーをテストしたとき、正常に動作します。

Apacheサーバーにアクセスする特権がないので、どうすれば修正できますか?

エラーログ

#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

エラーログは、ZendフレームワークがMySQLサーバーに接続するために必要なPDO MySQLドライバーを見つけることができないことを示しています。これにはいくつかの理由が考えられます。

  1. サーバーが古いバージョンのPHPを実行している可能性があります。 (PDOクラスはPHP 5.1以降にのみ含まれています。)次のコードを含む「info.php」というファイルを作成し、ブラウザーでそのファイルを開いて、実行しているバージョンを確認します。

    <?php phpinfo(); ?>
    

    PHPバージョンを確認したらすぐにこのファイルを削除して、他のユーザーがアクセスできないようにします。 PHP 5.1を使用していない場合は、ホスティング会社にインストールを依頼してください。 PHP 5.1を使用している場合は、読み進めてください。

  2. ホスティング会社にPDO MySQLドライバーがインストールされていません。エラーログの内容を連絡してドライバーのインストールを依頼するか、PDO MySQLドライバーを含む別のホスティング会社(または、さらに良いことに、サポートされているモジュールのリストにZendフレームワークを具体的に指定している会社)を使用することができます)。
4
Nick

エラーメッセージの私の読書から:

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

サーバーにいくつかの拡張機能がないようです。インストールできるVirtual Private Serverに追加料金を支払うことをお勧めします。

0
ʍǝɥʇɐɯ