サーバーを変更したところ、以下のエラーが発生しました。
Fatal error: Call to undefined function mysqli_init() in /home/blacktwitter/public_html/system/database/drivers/mysqli/mysqli_driver.php on line 126
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/blacktwitter/public_html/system/database/drivers/mysqli/mysqli_driver.php:126)
Filename: core/Common.php
Line Number: 564
Backtrace:
A PHP Error was encountered
Severity: Error
Message: Call to undefined function mysqli_init()
Filename: mysqli/mysqli_driver.php
Line Number: 126
Backtrace:
ウェブサイトは Codeigniter にあります。1 つのサーバー上でも、ローカル マシン上でも問題なく動作します。しかし、そのウェブサイトを新しいサーバーにアップロードすると、エラーが発生します。もちろん、データベース接続、base_url() などの重要なパラメータを変更しました。
データベースに疑問がありましたが、新しいデータベースやユーザーなどを作成し、接続情報を変更しました。
なぜこのようなことが起こるのでしょうか? サーバーまたは Web サイトのバグかどうかを知ることは役に立ちます。また、テスト コードを使用して index.html を作成すると、すべて正常になります。
ベストアンサー1
これはアプリケーションのバグではなく、単にドライバーが不足しているだけなので、いくつかのオプションがあります...
php init に移動し、次のコメントを解除します。
extension=php_mysqli.dll
そうでない場合は、サーバーにインストールしてみてください。インストール方法はディストリビューションによって異なります。
インストールしてみてくださいphp5-mysqlnd
ホスティングの制限によりそれができない場合は、mysql ドライバーに移行するだけです (CodeIgniter などの他の構成やクエリを変更する必要はありません)。
このように(設定ファイルで)
$db['default']['dbdriver'] = 'mysql'; (you might have mysqli now)