를 통해 호출 컬 파일을 알 수 있습니다. 통화 cli.php의는 어떻게 <strong>호 cli.php</strong></p> <p>내가 명령 줄을 통해 그것을 실행하고있는 CLI 또는 apache2handler
코드
echo "File 1 ".php_sapi_name(); // returns cli
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/curltest/step1.php?productId=12");
$response = curl_exec($ch);
curl_close($ch);
step1.php의 코드를 브라우저를 통해 ADMIN 실행 step1.php 그것이 apache2handler을 실행해야
echo " step1 ".php_sapi_name(); // returns apache2handler
if(php_sapi_name()==='cli') {
// To do execute code regarding cli
}
if(php_sapi_name()==='apache2handler') {
// To do execute code regarding apache2handler
}
코드를 작성하고 cli는 diff를 작성합니다. 나는 제품을call-cli.php에서 받고 있습니다. 그래서 컬을 호출해야합니다 call-cli.php 그래서 저는 cli 파일을 통해 호출 된 컬이 apache2handler 또는 다른 제안 대신 cli를 반환하는 것을 발견하는 방법이 있는지 알고 싶습니까?
당신이 실제로 묻는 것이 약간 명확하지 않습니다. 하지만 당신이 예상치 못한 'step1'에서 두 번째 결과를 얻은 것을 이해합니다. 왜 'cli'를 반환해야합니까? 이것은 http 요청을 통해 curl에 의해 호출되었으며 그 요청은 확실히'cli'에서 실행되지 않았습니다 ...'curl() '대신'exec()'와 같은 것을 사용해야합니다 ... – arkascha
@arkascha 감사 귀하의 요점을 가지고, 희망 업데이트 된 질문은 분명하다. –
두 가지 호출이 서로 다른 환경에서 실행되기 때문에 두 가지 호출간에 차이가 나는 잘못된 전략을 사용하고 있습니다. 대신에 다음 두 옵션 중 하나를 수행 할 수 있습니다. 1. 요청 인수를 curl' 호출에 추가하여 수신 측에서 다를 수 있거나 요청 된 측에서 검사 할 수있는 http 요청 헤더를 사용할 수 있습니다. – arkascha