#本記事について
OCSInventory-NG 2.9をインストールした際に発生したエラーとその対処方法をまとめておきます。
#OCSInventoryインストール時に発生したエラー
Perlモジュールのチェックでエラーが出た。
エラーが出るとインストールを続けるか聞かれたので、一旦インストールを終了して、足りなかったモジュールApache::DBI
の追加インストールを実施した。
※公式ドキュメントの通りにパッケージを入れたはずだが足りなかった。
■エラーメッセージ抜粋
+----------------------------------------------------------+
| Checking for required Perl Modules... |
+----------------------------------------------------------+
Checking for DBI PERL module...
Found that PERL module DBI is available.
Checking for Apache::DBI PERL module...
*** ERROR: PERL module Apache::DBI is not installed !
Checking for DBD::mysql PERL module...
Found that PERL module DBD::mysql is available.
Checking for Compress::Zlib PERL module...
Found that PERL module Compress::Zlib is available.
Checking for XML::Simple PERL module...
Found that PERL module XML::Simple is available.
Checking for Net::IP PERL module...
Found that PERL module Net::IP is available.
Checking for Archive::Zip Perl module...
Found that PERL module Archive::Zip is available.
*** ERROR: There is one or more required PERL modules missing on your computer !
Please, install missing PERL modules first.
OCS setup.sh can install perl module from packages for you
The script will use the native package from your operating system like apt or rpm
Do you wish to continue (y/[n])?
■追加インストールコマンド
yum install perl-Apache-DBI
#PHP7.2でOCSInventoryを動作させた際のエラー
PHP7.2で動作させようとしたら、500エラーとなった。
/var/log\httpd/error.log
を確認したところ以下のエラーが出ていることを確認。
どうやらPHP7.2ではmysqli_real_escape_string()
という関数が破棄されていて動作できないから出たエラーということ。
PHP Fatal error: Uncaught Error: Call to undefined function mysqli_real_escape_string() in /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php:67
Stack trace:
#0 /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php(85): generate_secure_sql('select NAME,IVA...', Array)
#1 /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php(37): mysql2_query_secure('select NAME,IVA...', NULL, Array)
#2 /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php(346): look_config_default_values('CUSTOM_THEME')
#3 /usr/share/ocsinventory-reports/ocsreports/install.php(30): html_header(true)
#4 /usr/share/ocsinventory-reports/ocsreports/require/header.php(84): require('/usr/share/ocsi...')
#5 /usr/share/ocsinventory-reports/ocsreports/index.php(44): require('/usr/share/ocsi...')
#6 {main}
thrown in /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php on line 67
PHP7.2での動作は諦めアンインストールし、PHP5.6をインストールして動作することを確認。