Modified has been file:
/usr/share/zabbix/include/classes/api/services/CUser.php
Specifically function logout($user) has beend modified: public function logout($user) {
$api_input_rules = ['type' => API_OBJECT, 'fields' => []];
if (!CApiInputValidator::validate($api_input_rules, $user, '/', $error)) {
# self::exception(ZBX_API_ERROR_PARAMETERS, $error);
}
Recommended thing is to Install Zabbix Dynamic PDF Report, Zabbix 3.0 LTS version.But to install report on Zabbix version 3.4.8 I can execute commands like:
#!/bin/bash
#check current SELinux status
getenforce
#turn of SELinux
setenforce 0
#install vim
yum install vim -y
#download version 0.9.4
curl -L "https://drive.google.com/uc?export=download&id=0B_VNwWso1iSQcGJqamQ1dFVSWWM" -o ~/zabbix-pdf-report-0.9.4.tgz
#look where is zabbix front end directory
find / -name trigger_prototypes.php
#extract 'report' dir
tar -xvzf ~/zabbix-pdf-report-0.9.4.tgz -C /usr/share/zabbix
#move to the frontend dir
cd /usr/share/zabbix/report
#take a note what is direct ip address of server
ip a
#this will show ip address like 10.0.2.15
#enter credentials
vim config.inc.php
#$z_server = 'http://10.0.2.15/zabbix/';
#$z_user = 'Admin';
#$z_pass = 'zabbix';
#fix message
#Unable to logout: Array ( [code] => -32602 [message] => Invalid params. [data] => Invalid parameter "/": unexpected parameter "user". )
#look just below logout($user) function
cd /usr/share/zabbix/include/classes/api/services
#show some output of active configuration
grep -n -A5 "public function logout" CUser.php
#backup configuration
cp CUser.php ~
#calculate line to comment out
ln=$(grep -n -A5 "public function logout" CUser.php | grep ZBX_API_ERROR_PARAMETERS | egrep -o "^[0-9]+")
#echo line number
echo "$ln"
#uncomment line
sed -i "$ln {s/^/#/}" CUser.php
#show what has been commented
grep -n -A5 "public function logout" CUser.php
Related:https://github.com/catonrug/zabbix-scripts/blob/master/zabbix-3.4-pdf-report.sh