저는 라즈베리 파이 3에서 PHP 7.0으로 아파치를 실행하고 있습니다. 명령줄에서 컬 명령을 사용하면 제대로 작동합니다.
하지만 PHP 코드에서 이 명령을 사용하면 아무 작업도 수행되지 않습니다. 이게 뭔지 아세요?
리소스 ID #5를 얻습니다. 무슨 일이었는지는 모르겠지만......
다음을 시도했습니다.
- 명령 끝에 2>&1을 추가하세요.
- sudo 앞에 오는 명령을 실행하십시오.
- www-data에 대한 권한 변경(아파치를 실행하는 사용자인지 확실하지 않음)
답변1
PHP에서 모든 리소스 ID #는 물리적이든 아니든 일종의 파일 핸들을 나타냅니다. 일반적으로 멋진 데이터를 얻기 전에 핸들에서 일종의 읽기 작업이 발생합니다. cURL 및 PHP는 일반적으로 다음과 유사합니다(에서 발췌).문서)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);