我正在安装vtiger,
当我打开索引页面时,
我收到了这个错误:
致命错误:在第357行的C:\ xampp \ htdocs \ _ vtigercrm \ include \ database \ PearDatabase.php 中调用成员函数Execute()
我打开了PearDatabase.php文件,我发现了这个:
if($this->avoidPreparedSql || empty($params)) {
$sql = $this->convert2Sql($sql, $params);
$result = $this->database->Execute($sql);
} else {
$result = $this->database->Execute($sql, $params);
}
第357行是:
$result = $this->database->Execute($sql);
答案 0 :(得分:3)
如果您已在本地安装了vtiger,则必须在本地vtiger域的浏览器中清除Cookie。 这应该可以解决你的问题,这是一个多么惊人的错误!
答案 1 :(得分:1)
确保已安装所有先决条件:
先决条件from here:
该错误表明它无法解决如何处理后端数据库。
答案 2 :(得分:1)
如果session_save_path()
对于Web服务器用户不可写,则在安装vTiger时将收到此错误。
在我的情况下,我的“ session_save_path”为/var/lib/php/7.1/session
,归root
所有。我正在使用Nginx,因此我执行了以下命令来解决我的问题:
sudo chown -R nginx:nginx /var/lib/php/7.1/session
如果您使用的是Apache,则可以执行以下命令来解决问题:
sudo chown -R www-data:www-data /var/lib/php/7.1/session
在浏览安装步骤时,输入vTiger向导的信息将保存到$_SESSION
。
当'session_save_path'由root
而非Web服务器用户拥有时,会话数据不会保存在Step5()
中的功能Step6()
和功能modules/Install/views/Index.php
之间。因此,当向导创建config.inc.php
文件时,由于在两次请求之间您的数据没有保存在config.inc.php
中,因此您输入表单中的所有配置数据都不会写入$_SESSION
。可以通过将对“ session_save_path”的权限更改为Web服务器用户可写的方式来解决。
您可以在php.ini
文件或www.conf
文件(如果使用的是php-fpm)中找到session.save_path:
/etc/php-fpm-7.1.d/www.conf:php_value[session.save_path] = /var/lib/php/7.1/session
此无用的错误实际上是因为您的数据库连接在函数include/database/PearDatabase.php
中的文件connect()
中失败,因为所有数据库变量均为空。
希望这会有所帮助。