저는 초보자 인 Linux 사용자입니다. 주로 중앙 Syslog 서버에 사용할 LAMP 서버를 구성했습니다. Ubuntu 16.04, Apache, php7 및 mariadb의 최신 안정 버전. Loganalyzer (https://cloud4wi.zendesk.com/hc/en-us/articles/201827513-How-to-install-and-configure-a-SysLog-Server)를 구성하기 위해 주로이 자습서를 수행했습니다.Loganalyzer를 설치하려고 할 때 PHP 오류가 발생했습니다.
syslog 메시지를 보내는 테스트를 성공적으로 마쳤으며 지금까지 데이터베이스에서 메시지를 수집하고 있습니다. 나는 또한 성공적으로 테스트 PHP는 내가 다음 명령 줄 PHP -f DB-test.php에서이 명령을 실행 위해 rsyslog
<?php
$link = mysqli_connect("{host}", "{user}", "{password}", "{database}");
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
echo "Success: A proper connection to MySQL was made!." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
mysqli_close($link);
?>
을 위해 내가 설정했습니다 데이터베이스에 연결할 수있는 한 작동하는 것 같다.
Loganalyzer install.php 파일을 실행할 때 내 문제가 발생하는 것으로 보입니다.
데이터베이스 정보와 creds를 포함하는 섹션에서, 그것은 나에게 꽤 쓸모없는 오류를 제공합니다.
ERROR: Cannot use the database 'rsyslogdb'! If the database does not exists, create it or check user access permissions! Mysql Error - Description:
내 아파치 로그를 확인한 결과 install.php 스크립트의 문제점을 지적한 것으로 보입니다. 처음에는 설치 스크립트가 이전 함수 ("Call to undefined function mysql_connect()" after upgrade to php-7)를 사용하고 있음을 알게 된 "정의되지 않은 함수 mysql_connect에 대한 호출"이라는 오류가 발생했습니다. Loganalyzer의 메모에서이 문제가 해결되었음을 알리는 것처럼 보입니다 (http://loganalyzer.adiscon.com/news/loganalyzer-v4-1-5-v4-stable-released/)
방금 전에 스크립트에서 mysqli_connect 및 mysqli_select_db를 사용하여 어떤 일이 발생하는지 두 번 변경했습니다. 조금 더 있지만 아파치 로그에 오류가 계속 표시되어 Loganalyzer를 설치할 수 없습니다.
[Mon Dec 12 15:23:21.563908 2016] [:error] [pid 1400] [client {ip}:50958] PHP Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /var/www/html/loganalyzer/install.php on line 382, referer: http://{ip}/loganalyzer/install.php?step=3
>>> this is the line from install.php
// Try to select the DB!
$db_selected = mysqli_select_db($_SESSION['UserDBName'], $link_id);
if(!$db_selected)
RevertOneStep($content['INSTALL_STEP']-1, GetAndReplaceLangStr($content['LN_INSTALL_ERRORACCESSDENIED'], $_SESSION['UserDBName']) . "<br>" . DB_ReturnSimpleErrorMsg());
[Mon Dec 12 15:23:21.563997 2016] [:error] [pid 1400] [client {IP}:50958] PHP Warning: mysqli_errno() expects parameter 1 to be mysqli, integer given in /var/www/html/loganalyzer/include/functions_db.php on line 215, referer: http://{ip}/loganalyzer/install.php?step=3
[Mon Dec 12 15:23:21.564013 2016] [:error] [pid 1400] [client {IP}:50958] PHP Warning: mysqli_error() expects parameter 1 to be mysqli, integer given in /var/www/html/loganalyzer/include/functions_db.php on line 215, referer: http://{ip}/loganalyzer/install.php?step=3
>>>> this is the line from functions_db.php
// Return Mysql Error
return "Mysql Error " . mysqli_errno($userdbconn) . " - Description: " . mysqli_error($userdbconn);
}
나는 잠시 동안 벽에 머리를 두드 리고 있었다. 누군가가 나를 올바른 방향으로 향하게 할 수 있습니까?
나는 너에게 키스 할 수있어! 당신이 제안했던 것처럼 라인을 변경하십시오! 설치가 완료되었습니다! 나는 mysqli_errno에 대해서도 다른 가능한 문제를 조사 할 것이다. 다시 한 번 감사드립니다. –