私はラズベリーパイ3からPHP 7.0にApacheを実行しています。コマンドラインでカールコマンドを使用すると正常に動作します。
ただし、PHPコードでこのコマンドを使用すると、何もしません。これは何か知っていますか?
リソースID#5を取得します。何が起こったのかはわかりませんが……
以下を試しました。
- コマンドの最後に2>&1を追加します。
- sudo の前にあるコマンドを実行します。
- www-dataの権限の変更(Apacheを実行しているユーザーかどうかわからない)
ベストアンサー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);