基本的な質問になりますが、以下のphpファイルをブラウザからアクセスすると、Array ( )と表示されて実行できていません。やりたいことはブラウザでアクセスした際に、apiで取得した情報をtest.txtへ出力するという単純な動作です。コマンドラインから実施するとうまくいきますがブラウザからアクセスするとうまくいきません。考えられる原因をどなたか教えていただけないでしょうか。
#ちなみにMacで動作確認しています。
<?php
$url = 'http GET https://www.googleapis.com/discovery/v1/apis/';
$exec = exec($url ."> test.txt",$arr);
print_r($arr);
?>
コメントありがとうございます。
コマンドラインで実行すると、
$ php test.php
Array
(
)
という表示され、test.txtに以下が出力されます。以下のような内容です(長いので省略)。
ちなみにコマンドはhttpieを使っています。
$ more test.txt
{
"kind": "discovery#directoryList",
"discoveryVersion": "v1",
"items": [
{
"kind": "discovery#directoryItem",
"id": "adexchangebuyer:v1.2",
"name": "adexchangebuyer",
"version": "v1.2",
"title": "Ad Exchange Buyer API",
第三引数を設定以下のように設定し、ブラウザでアクセスすると以下の表示です。
■test.phpファイル
<?php
$url = 'http GET https://www.googleapis.com/discovery/v1/apis/';
$exec = exec($url ."> test.txt",$arr,$tmp);
print_r($arr);
echo $tmp;
?>
■ブラウザでアクセス後の表示
Array ( ) 127
No.3
- 回答日時:
test.txtのありかが、想定と違うのではないですか?
あなたの想定しない場所に作られている。
わかりにくくてすいません。
ブラウザからアクセスするとtest.txtファイルは作成されるのですが、中身がありません。これはexecでhttpコマンドを叩くどうさが働いていないのでは?と思っています。
スクリプトを見た感じは動きそうだ、という見解ということでよろしいでしょうか?
もう少し悩んでみます。
No.2
- 回答日時:
>コマンドラインで実行すると、
>
>$ php test.php
>Array
>(
>)
>
>という表示され、
とお書きですが、質問文では、
>Array ( )と表示されて
と同じ結果ですよね?
なにが問題なんでしょうか?リターンコードも0だし、正常終了しているとしか思えません。
ブラウザからアクセスしてもtest.txtへリダイレクトされません。
またリダイレクトを外したスクリプトにすると、コマンドラインにAPI取得したデータが出力されるのですが、ブラウザからアクセスすると、Array ( )のみの表示で、取得するはずのデータが表示されないのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- au(KDDI) 「カメラへのアクセスを許可してください」のせいで年齢確認書類を撮影できない、アップロードできない 2 2022/11/01 00:04
- その他(インターネット接続・インフラ) ブラウザにIPアドレス入力した時 1 2022/06/16 19:08
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- Excel(エクセル) セルの値をグーグルで検索するエクセルVBAについて! 2 2022/08/01 21:41
- システム システムにインターネットからアクセスする際、URLではなく、IPアドレスでブラウザからアクセスするこ 2 2022/07/28 09:52
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- Android(アンドロイド) 標準ブラウザがAndroidシステムWebviewのブラウザになってるAndroid端末を教えてくだ 2 2022/12/02 12:35
- WordPress(ワードプレス) wordpressでphpを読み込みたい 1 2022/10/30 23:40
- その他(ブラウザ) angel ブラウザってなぜアプリのクラッシュやフリーズが多いのでしょうか?? 特定のサイトにこのブ 3 2023/02/06 20:17
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ヒアドキュメントの中で演算子...
-
あるphpから他のPHPプロ...
-
別サーバのプログラムを起動
-
CRON でPHPスクリプトをGET変数...
-
PHPからシェルコマンドの実行
-
PHPの特徴は
-
PHPファイルをcronで実行す...
-
社内LANで複数台のPCからApache...
-
PHPからlhaコマンドを使いたい
-
JSのWINOW.CONFI...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
バッチを用いたフォルダの自動移動
-
phpとaspの違いについて
-
form actionで二つ送信先を指定...
-
phpで画像がどうしても文字化け...
-
透過PNGが透過されない!!
-
PHP8を使うと、大量のWarningが...
-
index.phpって何ですか? 具体...
-
PHPで、エラーがない場合のみ画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mysql複数レコードをまとめて削...
-
php実行中に実行中のphpファイ...
-
phpからエクセルのマクロを実行...
-
ヒアドキュメントの中で演算子...
-
PHPからバッチファイルの実行
-
【PHP】命令は記述順に処理...
-
シェルスクリプトをPHPで動かそ...
-
Switch文における、returnとbre...
-
httpdのプロセスが自動で消えな...
-
copy() で属性保存
-
Prompt入力値をphp変数として取...
-
JSのWINOW.CONFI...
-
htmlでsubmitで指定したAction...
-
unix(freebsd)でmysqldumpコマ...
-
PHPのsystem()でjava
-
別サーバのプログラムを起動
-
PHPでコマンドプロンプトを実行...
-
社内LANで複数台のPCからApache...
-
PHPからCプログラムを実行して...
-
PHPで、C#のプログラムを実行す...
おすすめ情報
すいません、第三引数を以下のように設定し直しました。
■test.php
<?php
$url = 'http GET https://www.googleapis.com/discovery/v1/apis/';
$exec = exec($url ."> test.txt",$arr,$tmp);
print_r($arr);
var_dump( $tmp );
?>
■コマンドライン実行時の出力
$ php access2.php
Array
(
)
int(0)
自己解決しました。
httpコマンドをフルパスで書くと動くようになりました。大変失礼しました。ご助言頂いてありがとうございます。