私のデータベースのデータをapplication/json
形式で取得するためにPHPで非常に簡単なAPIを構築しています。PHPでアプリケーション/ json出力の結果を見ることができません
<?php
include '../inc/db.php';
if (isset($_GET['id'])) {
$req = $pdo->prepare('SELECT * FROM muscular_groups WHERE id = ?');
$req->execute([$_GET['id']]);
$res = $req->fetchAll();
}
else {
$req = $pdo->prepare('SELECT * FROM muscular_groups');
$req->execute();
$res = $req->fetchAll();
}
header('Content-Type: application/json');
echo json_encode($res);
問題は、あなたが以下を参照できるように、すべてのローカルにうまく機能していることである:ここで
しかし、私は(で私のサーバーにアクセスしたいときwww.example.com/api/muscular-groups
)、エラーメッセージやエラーログのない白い画面が表示されます。
奇妙なもの:header('Content-Type: application/json');
とecho json_encode($res);
をvar_dump($res)
と置き換えた場合は、muscular-groups.php
が画面に表示されます。
PSは:非常に奇妙な、私のエンドポイントの一方のみが(例えば:www.example.com/api/offers
を)私のサーバー上で動作し、JSONの出力を表示し、ここではコードです:私は失われたよ
<?php
include '../inc/db.php';
$req = $pdo->prepare('SELECT * FROM offers');
$req->execute();
$res = $req->fetchAll();
header('Content-Type: application/json');
echo json_encode($res);
...
最初の質問:あなたのサーバで動作していないPHPのどのバージョンが動作していますか? – RiggsFolly
提案:ファイルの先頭の に[エラー報告](http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php/845025#845025)を追加してください)_あなたのPHPタグを開いた直後に動作しないサーバーで実行中_ '<?php error_reporting(E_ALL); ini_set( 'display_errors'、1); '何かが得られるかどうかを調べる。 – RiggsFolly
@RiggsFolly私のPHPバージョンは5.6.17-0 + deb8u1です。私はすでにそれを試みましたが、何も表示されません。私のphp-fpm php.iniファイルでも、すでに有効になっているようです。 –