こんなエラーがでて表示できない
Undefined Database Configuration
File: /home/sample/example.com/public_html/blog.example.com/access/ra_core/application/models/System.php (Line: 18)
Code: 9907
#0 /home/sample/example.com/public_html/blog.example.com/access/ra_core/system/RaModel.php(145): RaModel->_dbConnect()
#1 /home/sample/example.com/public_html/blog.example.com/access/ra_core/application/models/System.php(18): RaModel->__construct('system')
#2 /home/sample/example.com/public_html/blog.example.com/access/ra_core/application/controllers/LoginController.php(28): System->__construct()
#3 /home/sample/example.com/public_html/blog.example.com/access/ra_core/system/Ra.php(152): LoginController->login()
#4 /home/sample/example.com/public_html/blog.example.com/access/ra_core/system/Ra.php(89): Ra->_doaccesstion(Object(LoginController), 'login')
#5 /home/sample/example.com/public_html/blog.example.com/access/ra_z0iblog/analyze/index.php(46): Ra->execute()
#6 {main}
・MYSQLの設定などはきちんとできている
・同じ設定・構成でPHP5.4以下の場合はきちんと動作している
で、PHP5.6にしたら、上記のようになり動作しなくなったとかの場合です。
上記エラーは、ブラウザ上に表示されてました。
回避方法 その1
DB情報があってるのにエラーが出る場合はerror_reportingのE_DEPRECATEDにひっかかってる。
mysql_connectと非推奨の接続が原因。
一応以下の設定で動くようにはなる。
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Research Artisan liteでインストールエラー |2015-02-09 - 遠い目日記
5.5.0 mysql_connect この関数は E_DEPRECATED エラーを発するようになりました。
PHP: 変更履歴 - Manual
php.iniの場合は
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
php内に埋め込むには
error_reporting(E_ALL ^ E_NOTICE ^ E_STRICT ^ E_DEPRECATED);
.htaccessの場合は
# 32767 - 8 - 2048 - 8192 = 22519
php_value error_reporting 22519
古い環境で動いていたphpをphp5.4に移すときのエラー指定|ブログ|ノノログ
PHP: error_reporting - Manual
php.iniなどの設定で、
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
とすれば、回避することができて動作するようになります。
・PHP5.1.x 以降、5.4.xまで(PHP4、PHP5.5.x以降では動作を保証しません)
・MySQL4.0 以降、5.5.xまで(4.1 以降を強く推奨、5.6.x以降では動作を保証しません)
無料ダウンロード - 国産オープンソースPHPアクセス解析CGI - Research Artisan Lite - リサーチアルチザンライト
Research Artisan lite バージョン1.18ですが、PHP5.4まで対応で、PHP5.5以降は動作保証しないということになっています。
回避方法 その2
Research Artisan liteだけ古いPHPを使う。■ミニバード、ファイアーバードなら
#####phpversion#####
AddHandler x-httpd-php5.4 .php .phps
#####end:phpversion#####
AddHandler x-httpd-php5.4 .php .phps
#####end:phpversion#####
Research Artisan liteをインストールしたフォルダ(ディレクトリ)に上記の内容の「.htaccess」を置くと、そのフォルダのPHPだけ指定したバージョンのPHPが動作するようになります。
PHP7では、そのままでは動作しない
Research Artisan Liteはどうも、mysql_ 系の関数を使っているようなのでそのままではPHP7では動作しないでしょう。ra_core/system/RaModel.php
上記の中のmysql関数をmysqli関数に置き換えてみたら、動作してるように見えます。
参考:
・PHP7で「PHP Extensions Not Found => mysql」というエラー
スポンサーリンク
コメントを残す