
基本的な質問になりますが、以下の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ランキング
-
PHPについて基本的なこと
-
if文が入れ子の場合の条件の解釈
-
httpdのエラーログをwebでリア...
-
PHPでMysqlにデータがあるかど...
-
require_onceが動いていない
-
プログラム単語のsetageとかのa...
-
PHPでコマンドプロンプトを実行...
-
mysql複数レコードをまとめて削...
-
phpをオフラインで動かしたい
-
phpでお問い合わせフォームを作...
-
初めまして、
-
ファイルシステム関数関係
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
引数を正しく読み込む方法
-
session_startでクッキー範囲を...
-
プログラミング作業効率を上げ...
-
microSDの装着による連続待受時...
-
Content-Typeが機能していない?
-
PHPを
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mysql複数レコードをまとめて削...
-
シェルスクリプトをPHPで動かそ...
-
PHPでコマンドプロンプトを実行...
-
require_onceが動いていない
-
ヒアドキュメントの中で演算子...
-
PHPでサーバーにインストールさ...
-
php実行中に実行中のphpファイ...
-
社内LANで複数台のPCからApache...
-
ブラウザからexecコマンドを実...
-
PHPからバッチファイルの実行
-
Switch文における、returnとbre...
-
PHPからPostgreSQLのダンプを実行
-
正常に動作しない
-
htmlでsubmitで指定したAction...
-
PHPファイルをcronで実行す...
-
[cakePHP]外部ファイルの実行方法
-
テルネットしコマンドを自動実行
-
copy() で属性保存
-
PHP+MySQLでrollback出来ない
-
入力してからn時間(日)後、DBデ...
おすすめ情報
すいません、第三引数を以下のように設定し直しました。
■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コマンドをフルパスで書くと動くようになりました。大変失礼しました。ご助言頂いてありがとうございます。