PHP Unconference Europe 2015

実行時設定

php.ini の設定により動作が変化します。

ファイルシステムおよびストリーム設定オプション
名前 デフォルト 変更可能 変更履歴
allow_url_fopen "1" PHP_INI_SYSTEM PHP <= 4.3.4 では PHP_INI_ALL。PHP 4.0.4 から利用可能です。
allow_url_include "0" PHP_INI_SYSTEM PHP 5.2.0 から利用可能です。
user_agent NULL PHP_INI_ALL PHP 4.3.0 から利用可能です。
default_socket_timeout "60" PHP_INI_ALL PHP 4.3.0 から利用可能です。
from "" PHP_INI_ALL  
auto_detect_line_endings "0" PHP_INI_ALL PHP 4.3.0 から利用可能です。

以下に設定ディレクティブに関する 簡単な説明を示します。

allow_url_fopen boolean

このオプションにより、URL対応のfopenラッパーが使用可能となり、 ファイルのようにURLオブジェクトをアクセスできるようになります。 デフォルトのラッパーが、ftpまたはhttpプロトコルを用いて リモートファイルに アクセスするために提供されています。zlibのようないくつかの拡張モジュールが ラッパーを追加することがあります。

注意:

このオプションは、バージョン4.0.3のリリース直後に追加されました。 4.0.3を含む以前のバージョンでは、この機能は、設定スイッチ --disable-url-fopen-wrapperを使用することに より、コンパイル時にのみ無効にすることができます。

警告

PHP 4.3.0より前のWindows版では、以下の関数は、リモートファイルの アクセスをサポートしません。: include, include_once, require, require_once, GD および Image 関数 拡張モジュールの imagecreatefromXXX

allow_url_include boolean

このオプションを指定すると include, include_once, require, require_once で URL 対応の fopen ラッパーが使用できるようになります。

注意:

この設定を使用するには、allow_url_fopen が on でないといけません。

user_agent string

送信する PHP 用のユーザーエージェントを定義します。

default_socket_timeout integer

ソケットベースのストリームのデフォルトの有効時間(単位は秒)を定義します。

注意: この設定は、PHP 4.3で追加されました。

from string

認証なしの FTP 接続で使ったり、あるいは HTTP 接続の From ヘッダで使ったりするためのメールアドレス。 それぞれ、ftp ラッパーおよび http ラッパーに対応します。

auto_detect_line_endings boolean

onにした場合、PHPは fgets() および file() により読み込まれたデータを評価し、UNIX、MS-DOS、Machintoshの行末 表記を使用しているかどうかを調べます。

これにより、PHPがMacintoshシステムと相互運用できるようになりますが、 デフォルトはOffとなっています。これは、最初の行の行末表記を検出 する際にごく僅かな性能劣化があるためと、UNIXシステムのもとで復改 文字を項目セパレータとして使用している人が従来のバージョンと互換 性がない動作であると感じる可能性があるためです。

注意: この設定オプションは、PHP 4.3で追加されました。

add a note add a note

User Contributed Notes 2 notes

up
10
Pistachio
2 years ago
I'm surprised this isn't mentioned in docs here, but to set these values at runtime use "ini_set()". For example:

<?php
ini_set
("auto_detect_line_endings", true);

// Now I can invoke fgets() on files that contain silly \r line endings.
?>
up
-7
Snow IT
3 years ago
Just a quick note: setting default_socket_timeout to zero causes file_get_contents(<url>) to immediately fail.

We were under the (false) impression that zero meant never time out.
To Top