shell_exec()在codeigniter中不起作用。但是,这个命令在终端工作。 输出:00:00:30.11
function Table_to_Array(id) {
if (id == "CGT_Data")
{ var tbl="tbl_CGT"; }
if (id == "GRT_Data")
{ var tbl = "tbl_GRT"; }
if (id == "Disb_Data")
{ var tbl = "tbl_Disb"; }
var myTableArray = $('#'+tbl+' tr').map(function () {
return $(this).find(':input').map(function () {
return this.value;
}).get();
}).get();
return myTableArray;
}
function send_to_server(id)
{
var iden = id;
var result = Table_to_Array(id);
var data = {
data_holder: result,
Category: id
};
var params = {
url: '@Url.Action("Send_to_server", "Annex1")',
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
traditional : true,
data: JSON.stringify(data),
success: function (result) { alert('Ok! It worked.'); },
error: function (result) { alert('Warning! It failed.'); }
};
$.ajax(params);
}
如何解决此问题?
答案 0 :(得分:0)
当你调试必须执行shell_exec()的web-app时,你会看到详细的错误。你试过这个吗? (来自浏览器的控制台)
您可能正在尝试访问具有受限权限的文件夹(运行Web服务器的用户无法访问该目录)。使用chmod
授予您的Web服务器权限以访问此目录并尝试再次运行您的命令。它应该工作。
亚历
答案 1 :(得分:0)
“不工作”不是一种有用的诊断方法。怎么了?您是否检查过您的错误记录/报告是否已正确配置以捕获错误?你的日志里有什么?
“这个命令在终端工作” - 你的意思是什么?您是刚刚运行传递给shell_exec的字符串还是从命令行运行PHP脚本?后者将揭示shell_exec是否被排除为disabled function(但请注意,CLI SAPI可能使用与web sapi不同的php.ini)。
除此之外,潜在的原因是: