我有一个PHP脚本,可以将信息放在数据库中。 当我在服务器上手动运行脚本时,所有工作都按预期工作。 但是,当我使用ajax通过javascript运行该脚本时,php脚本在以下行失败:
$connection=new mysqli($servername,$username,$password,$dbname);
我得到的错误是 PHP致命错误:在/ var / www / html /..
中找不到类'mysqli'对于我直接在服务器上直接运行该脚本没有任何问题,这没有任何意义。
我在/var/log/apache2/error.log中找到了这个错误。
以下是我的ajax调用的外观:
$.ajax({
url:'db/insert.php',
complete: function(response){
//$('#output').html(response.responseText);
alert('complete: '+response.responseText);
},
error: function(){
//$('#output').html('Bummer: there was an error!');
alert('error');
},
async:"false",
type:"POST",
data:{visit_report:'1'}
});
为什么脚本会以这种方式失败?
这个问题在这里继续: Enable mysqli in my in-webserver copy of php
答案 0 :(得分:1)
找到你php.ini
文件,小心可能有2个。您可能想要apache / bin文件夹中的那个。
寻找
extension=php_mysqli.so
确保它前面没有#
注释字符。
如果您不确定其居住地点,请尝试whereis php.ini
答案 1 :(得分:0)
我有时会遇到同样的问题。
问题在于,当您通过ajax调用页面时,所有服务器端包含和需求都已死亡。您必须显式调用您的数据库连接,并确保在您通过ajax调用的页面上包含所有页面,以便在该调用中创建它们。