我在服务器上托管了一个网站,现在我想要的是当有人按下网站上的提交按钮时运行.php脚本(也位于同一台服务器上)。
以下是ajax代码
$.ajax({url: "/test.php",
success: function(response){
console.log("Success",response);
}
});
我的test.php由
组成<?php
//exec('sudo -u www-data python /var/www/html/test.py');
echo "PHP Script Ran";
mkdir("/var/www/html/test", 0700);
?>
当我导航到ip_address / test.php时,echo
消息显示正确但mkdir
命令似乎没有执行,因为我的服务器中没有创建文件夹&# 39; s目录。
另外我想知道,当有人按下我网站上的提交按钮时,如何运行此test.php脚本。
Javascript代码
var $ = jQuery;
var timestamp = Number(new Date());
var form = document.querySelector("form");
var database = firebase.database();
form.addEventListener("submit", function(event) {
var ary = $(form).serializeArray();
var obj = {};
for (var a = 0; a < ary.length; a++) obj[ary[a].name] = ary[a].value;
console.log("JSON",obj);
firebase.database().ref('users/' + timestamp).set(obj);
database.ref('users/' + timestamp).once('value').then(function(snapshot) {
console.log("Received value",snapshot.val());
$.ajax({
url: "/test.php",
success: function(response){
console.log("Success",response);
}
});
});
});
对此的任何帮助将不胜感激。 感谢
答案 0 :(得分:2)
在这种情况下,建议在mkdir
函数中使用try...catch
,如果是这样的话,请捕获错误。
另一方面,mkidr
将返回一个布尔值:true
如果目录创建成功,或false
,如果失败。
<强> 1.version 强>
try {
mkdir("/var/www/html/test", 0700, true);
} catch ($ex Exception) {
echo $ex->getMessage();
}
<强> 2.version 强>
if (!mkdir("/var/www/html/test", 0700, true)) {
echo 'Failed to create folder...';
}
如果mkdir
无法创建文件夹,则需要检查两件事:文件夹是否存在以及是否具有正确的权限。我的意思是,如果用户组设置为apache(因为apache,通过Web浏览器正在执行mkdir命令),其次是apache(www-data
)具有执行此命令所需的权限。
答案 1 :(得分:1)
修改服务器中的 php.ini ,标记 disable_functions =“...”并确保列表中不包含mkdir。