Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
ヘッダ、GET または POST データ、プロトコルバージョン、要求 URL、メソッドなど、指定したコンテキスト情報のパラメータを使用して、PHP インタプリタによって解釈される PHP コードを渡した結果を返します。
sa_http_php_page_interpreted( php_page , method , url , version , headers , request_body )
php_page この LONG VARCHAR パラメータには、開始マーカと終了マーカ (<?php と ?>) を含めて、解釈される全 PHP コードが含まれます。
<?php
?>
method この LONG VARCHAR パラメータには、HTTP 要求のメソッドが含まれます (たとえば、GET、POST、PUT、またはその他の標準的な要求メソッドのいずれか)。method の値は、現在の HTTP 要求の @HttpMethod の値を使用して決定できます。
url この LONG VARCHAR パラメータには、クエリ文字列 (存在する場合) を含めて、完全な HTTP 要求の URL が含まれます。url の値は、現在の HTTP 要求の @HttpURI の値を使用して決定できます。
version この LONG VARCHAR パラメータには、HTTP 要求のプロトコルバージョン (たとえば、HTTP/1.1 など) が含まれます。version の値は、現在の HTTP 要求の @HttpVersion の値を使用して決定できます。
ヘッダ この LONG BINARY パラメータには、標準の HTTP ヘッダフォーマット Field-Name: Value\r\n の HTTP 要求ヘッダが含まれます。ヘッダの値は、次の SELECT 文を使用して、現在の HTTP 要求から取り出すことができます。
Field-Name: Value\r\n
SELECT LIST( name || ': ' || value, CHAR(13) || CHAR(10) ) FROM sa_http_header_info();
request_body この LONG BINARY パラメータには、HTTP 要求の本文がバイナリ形式で含まれます。request_body の値は、HTTP_BODY 関数を使用して、現在の HTTP 要求から取り出すことができます。
この関数は LONG BINARY 値を返します。
このシステムプロシージャを使用するには、PHP 外部環境をインストールしておく必要があります。
このシステムプロシージャを Web サービス要求外で使用するには、要求情報を指定する必要があります。PHP コード内に設定されたヘッダは失われます。
このシステムプロシージャの所有者は DBO です。ただし、セキュリティの向上のため、sa_http_php_page_interpreted システムプロシージャは呼び出し元として実行されます。
なし。
次の例では、PHP インタープリタに phpinfo() クエリが送信され、HTML 結果が表示されます。
BEGIN DECLARE headers LONG VARCHAR; SELECT list( name || ': ' || value, char(13) || char(10) ) INTO headers FROM sa_http_header_info(); SELECT CAST( sa_http_php_page_interpreted( '<?php phpinfo(); ?>', http_header( '@HttpMethod' ), http_header( '@HttpURI' ), http_header( '@HttpVersion' ), headers, HTTP_BODY() ) AS LONG VARCHAR); END;