exec()
을 호출하는 PHP 스크립트가 있습니다. 나는 하루 종일 동일한 스크립트를 호출하는 일부 코드 (exec()는 127 오류 코드를 반환)로 문제를 겪고 있습니다.PHP exec는 스크립트를 직접 호출 할 때 작동하지만 jQuery 아약스가 아닌 경우
: 나는 주소 표시 줄에 download_forms.php
의 URL을 입력하면,
$('#next_button').click(function(event) {
$.get('download_forms.php', function(data) {
alert(data);
});
});
그러나 내 브라우저에서 exec()가 제대로 실행됩니다. jQuery에서 exec()를 호출하여 다른 스크립트를 실행하려고 시도했지만 모두 실패하지만 주소 표시 줄에 입력하면 작동합니다.
이것이 왜 문제가되는지 알 수 없습니다. Firefox의 주소 표시 줄에 URL을 입력하든 내 웹 페이지의 버튼을 누르 든 HTTP 요청이 생성됩니다.
차이점이 무엇인지 알 수 있습니까?
참고 : exec()에서 다른 명령을 시도했지만 스크립트 주소가 주소 표시 줄에 직접 입력 된 경우 모두 jQuery (모든 PHP 코드가 정상적으로 실행 됨)에서 모두 실패하지만 작동합니다.
많은 감사
업데이트
이 내 download_forms.php 코드입니다. 초기 exec()는 exec()가 전혀 작동하는지 확인하는 것이 었습니다. 위와 같이 주소 표시 줄에 직접 입력 한 경우에만 올바르게 실행됩니다.
include ('inc/session.inc.php');
require_once('Downloader.php');
exec('id', $output, $r);
echo var_dump($output);
echo($r);
try {
$downloader = new Downloader();
$saveMessages = $downloader->saveToDatabase();
// exec() in the combineAndDownloadForms() method
$downloadMessages = $downloader->combineAndDownloadForms();
} catch(Exception $e) {
echo $e->getMessage();
}
또한 업데이트 나는 download_forms.php 페이지 (즉 <a>
) 내 웹 페이지에서를 통해 하이퍼 링크를 만들었지 만, 간부 인() 아직 실행되지 않습니다. 적어도 아약스와는 아무 상관이 없다는 걸 압니다.
이것은 조금 애매 ... 당신이 불을 지르고를 설치하거나 어떤 자바 스크립트 오류를 받고 있는지 확인하기 위해 개발자 도구의 일종을 사용하려고 수 있을까? 'download_forms.php'는 어떻게 생겼습니까? 아약스를 처음 접하셨습니까? –
@ Derek - 답장을 보내 주셔서 감사합니다. 내 'download_forms.php' 파일을 포함하도록 내 게시물을 업데이트했습니다. 나는 아약스에 익숙하지 않아. 건배. – Joe
AJAX의 URL이 정확한 위치에 있는지 확인하고 있습니까? download_forms.php의 상대 URL과 js 파일의 위치는 무엇입니까?또한 Firebug 또는 유사한 것을 사용하는 경우 AJAX 호출의 요청/응답을 볼 수 있어야합니다. 그러면이 문제에 대한 더 많은 통찰력을 얻을 수 있습니다. –