Webコンソールへのアクセスでエラー表示される
はじめて投稿いたします。宜しくお願いいたします。
現在、自宅のVM環境にzabbix3.0の環境(CentOS6.5)を構築中ですが、
Webコンソールへのアクセスエラーで止まっています。
まだ、コンソール画面表示されたことがなく、以下のようなエラーが表示されます。
PHPのエラーのようですが、対処方法が不明ですので、対処方法をご享受願います。
なお、PHPはPHP56を導入していて、以下のパッケージを導入しています。
apacheは2.2です。
<PHP導入パッケージ>
php56-php-xml-5.6.34-1.el6.remi.x86_64
php56-cli-5.6.34-1.el6_34.wing.x86_64
php56-pgsql-5.6.34-1.el6_34.wing.x86_64
php56-php-pecl-zip-1.15.2-1.el6.remi.x86_64
php56-fpm-5.6.34-1.el6_34.wing.x86_64
php56-runtime-2.3-1.el6.remi.x86_64
php56-php-cli-5.6.34-1.el6.remi.x86_64
php56-bcmath-5.6.34-1.el6_34.wing.x86_64
php56-devel-5.6.34-1.el6_34.wing.x86_64
php56-mbstring-5.6.34-1.el6_34.wing.x86_64
php56-php-pecl-jsonc-1.3.10-1.el6.remi.x86_64
php56-php-pear-1.10.5-5.el6.remi.noarch
php56-pdo-5.6.34-1.el6_34.wing.x86_64
php56-ldap-5.6.34-1.el6_34.wing.x86_64
php56-php-common-5.6.34-1.el6.remi.x86_64
php56-common-5.6.34-1.el6_34.wing.x86_64
php56-gd-5.6.34-1.el6_34.wing.x86_64
php56-php-process-5.6.34-1.el6.remi.x86_64
php56-opcache-5.6.34-1.el6_34.wing.x86_64
<以下エラー内容>
[T_ZBX_STR, O_NO, null, null, 'isset({enter})', _('Username')], 'password' => [T_ZBX_STR, O_OPT, null, null, 'isset({enter})'], 'sessionid' => [T_ZBX_STR, O_OPT, null, null, null], 'reconnect' => [T_ZBX_INT, O_OPT, P_SYS|P_ACT, BETWEEN(0, 65535), null], 'enter' => [T_ZBX_STR, O_OPT, P_SYS, null, null], 'autologin' => [T_ZBX_INT, O_OPT, null, null, null], 'request' => [T_ZBX_STR, O_OPT, null, null, null] ]; check_fields($fields); // logout if (isset($_REQUEST['reconnect'])) { DBstart(); add_audit_details(AUDIT_ACTION_LOGOUT, AUDIT_RESOURCE_USER, CWebUser::$data['userid'], '', _('Manual Logout'), CWebUser::$data['userid'] ); DBend(true); CWebUser::logout(); redirect('index.php'); } $config = select_config(); if ($config['authentication_type'] == ZBX_AUTH_HTTP) { if (!empty($_SERVER['PHP_AUTH_USER'])) { $_REQUEST['enter'] = _('Sign in'); $_REQUEST['name'] = $_SERVER['PHP_AUTH_USER']; } else { access_deny(ACCESS_DENY_PAGE); } } // login via form if (isset($_REQUEST['enter']) && $_REQUEST['enter'] == _('Sign in')) { // try to login $autoLogin = getRequest('autologin', 0); DBstart(); $loginSuccess = CWebUser::login(getRequest('name', ''), getRequest('password', '')); DBend(true); if ($loginSuccess) { // save remember login preference $user = ['autologin' => $autoLogin]; if (CWebUser::$data['autologin'] != $autoLogin) { API::User()->updateProfile($user); } $request = getRequest('request', ''); if ($request) { preg_match('/^\/?(?[a-z0-9\_\.]+\.php)(?\?.*)?$/i', $request, $test_request); $request = (array_key_exists('filename', $test_request) && file_exists('./'.$test_request['filename'])) ? $test_request['filename'].(array_key_exists('request', $test_request) ? $test_request['request'] : '') : ''; } if (!zbx_empty($request)) { $url = $request; } elseif (!zbx_empty(CWebUser::$data['url'])) { $url = CWebUser::$data['url']; } else { $url = ZBX_DEFAULT_URL; } redirect($url); exit; } // login failed, fall back to a guest account else { CWebUser::checkAuthentication(null); } } else { // login the user from the session, if the session id is empty - login as a guest CWebUser::checkAuthentication(CWebUser::getSessionCookie()); } // the user is not logged in, display the login form if (!CWebUser::$data['alias'] || CWebUser::$data['alias'] == ZBX_GUEST_USER) { switch ($config['authentication_type']) { case ZBX_AUTH_HTTP: echo _('User name does not match with DB'); break; case ZBX_AUTH_LDAP: case ZBX_AUTH_INTERNAL: if (isset($_REQUEST['enter'])) { $_REQUEST['autologin'] = getRequest('autologin', 0); } if ($messages = clear_messages()) { $messages = array_pop($messages); $_REQUEST['message'] = $messages['message']; } $loginForm = new CView('general.login'); $loginForm->render(); } } else { redirect(zbx_empty(CWebUser::$data['url']) ? ZBX_DEFAULT_URL : CWebUser::$data['url']); }
以上
TNK - 投稿数: 4769
Apache HTTP ServerとPHP 5.6との連携がうまくいっていないか、
古いPHPが動いているのではないでしょうか?
Apache HTTP Serverの設定をご確認ください。
また、phpinfo()の結果を表示するようなPHPをどこかのディレクト
リに置いてアクセスし、どのバージョンのPHPが呼び出されるよう
になっているかも確認してみてください。
<?php
phpinfo();
?>
hakuba - 投稿数: 4
早々のレスありがとうございます。
早速、PHPのどのバージョンが呼び出されるか試行しましたが、
真っ白な画面で何も表示されませんでした。
Apache HTTP ServerとPHP 5.6との連携は調査中ですが、
具体的にどの点(設定)を見れば良いのでしょうか?
あと、古いPHPのパッケージは表示上ありませんでした。
(以前、構築作業で試行錯誤してPHPの5.3、5.4を入れていましたが現在、削除しています。)
宜しくお願いします。
hakuba - 投稿数: 4
すいません。結局、PHP56のバージョンが古かったことが原因でした。
お騒がせいたしました。
ただ、Webコンソールへのアクセスエラーは、なくなりましたが、
コンソール画面表示後の設定で他のエラーが発生して対応中です。。。
また、質問するかもしれませんが、宜しくお願いします。