Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


php:7.2:php.ini

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
php:7.2:php.ini [2020/03/05 14:39]
y2sunlight [php.iniの確認]
php:7.2:php.ini [2020/11/24 10:31] (現在)
y2sunlight [PHP7.2 php.iniの編集]
行 1: 行 1:
 ====== PHP7.2 php.iniの編集 ====== ====== PHP7.2 php.iniの編集 ======
- --- //[[http://www.y2sunlight.com|y2sunlight]] 2019-10-17//+Version 7.2.22 --- [[http://www.y2sunlight.com|y2sunlight]] 2019-10-17 \\ 
 +Version 7.3.15 --- [[http://www.y2sunlight.com|y2sunlight]] 2020-03-06 \\ 
 + 
 +> PHP7.2をPHP7.3と読み替えても内容は同じです
  
 [[php:top|PHPに戻る]] [[php:top|PHPに戻る]]
  
 関連記事 関連記事
-  * [[xampp:7.2|XAMPP7.2のインストール]] 
   * [[php:7.2:httpd.conf|PHP7.2 Apache2の設定]]   * [[php:7.2:httpd.conf|PHP7.2 Apache2の設定]]
   * PHP7.2 php.iniの編集   * PHP7.2 php.iniの編集
 +  * [[php:7.2:ext:intl|PHP7.2 intlのインストール]]
 +  * [[php:7.2:ext:zmq|PHP7.2 ZeroMQのインストール]]
  
 ---- ----
  
-本編ではローカル環境にPHPスクリプトのテスト環境を構築しています。従ってPHPの設定は、公開用サーバなどの設定とは異なります。セキュリティに関する考慮などをしていませんのでご注意下さい。また、設定ファイル等の存在場所は[[xampp:7.2|XAMPP7.2のインストール]]の設定に従います。+===== 概要 ===== 
 + 
 +本編ではローカル環境にPHPスクリプトのテスト環境を構築しています。従ってPHPの設定は、公開用サーバなどの設定とは異なります。セキュリティに関する考慮などをしていませんのでご注意下さい。また、設定ファイル等の存在場所はXAMPPの設定に従います。
  
 PHPの初期設定はphp.iniで行います。php.iniは以下の場所にあります。 PHPの初期設定はphp.iniで行います。php.iniは以下の場所にあります。
  
 <code> <code>
-D:\usr\xampp7.2.22\php\php.ini+{XAMPP Install Folder}\php\php.ini
 </code> </code>
  
行 40: 行 46:
 に関する設定があります。次に各モジュールを設定するディレクティブが現れます(Module Settings)。ここでは、[MySQL]や[mbstring]のようなセクションヘッダらしきもので区切られています。 に関する設定があります。次に各モジュールを設定するディレクティブが現れます(Module Settings)。ここでは、[MySQL]や[mbstring]のようなセクションヘッダらしきもので区切られています。
  
-以下では、本編の目的である「PHPスクリプトのテスト環境の構築」を行うための設定内容を、php.ini で出現するディレクティブの順に挙げます。尚、ここでは、インストール後に変更したもの及び説明のために特に重要と思われる主要な設定内容のみを挙げています。php.iniに関する詳細は、以下を参照して下さい。+php.iniに関する詳細は、以下を参照して下さい。
  
-https://www.php.net/manual/ja/ini.php+  * https://www.php.net/manual/ja/ini.php 
 + 
 +\\ 
 + 
 +===== テスト環境のphp.ini ===== 
 + 
 +以下では、本編の目的である「PHPスクリプトのテスト環境の構築」を行うための設定内容を、php.ini で出現するディレクティブの順に挙げます。尚、ここでは、インストール後に変更したもの及び説明のために特に重要と思われる主要な設定内容のみを挙げています。
  
 ==== [PHP]言語オプション ==== ==== [PHP]言語オプション ====
行 51: 行 63:
  
 output_bufferingは出力バファリングの設定を行います。OnまたはOffで指定します。出力バファリングをOnにすると、HTTP BODYを出力した後でもHTTPヘッダが出力できます。Onの代わりに実際のバファサイズの制限(4096)などを指定する事もできます。 output_bufferingは出力バファリングの設定を行います。OnまたはOffで指定します。出力バファリングをOnにすると、HTTP BODYを出力した後でもHTTPヘッダが出力できます。Onの代わりに実際のバファサイズの制限(4096)などを指定する事もできます。
 +
 +\\
 +
 +==== [PHP]リソース制限 ====
 +
 +<code ini>
 +memory_limit = 512M
 +</code>
 +
 +memory_limit 、スクリプトが確保できる最大メモリをバイト数で指定します。この命令は、正しく書かれていないスクリプトがサーバーのメモリを食いつぶすことを防止するのに役立ちます。後述のpost_max_size(最大POSTサイズ)はこの値より大きくすることはできません。
 +
 +画像サムネイルの作成など多くのメモリを必要とする場合、この値を変更する必要があるかもしてません。もし、使用可能メモリに制限を設けたくない場合は、ここに -1 を指定してください。 
 +
 +\\
  
 ==== [PHP]エラー処理 ==== ==== [PHP]エラー処理 ====
行 65: 行 91:
  
 error_logはエラーログの出力先は設定します。ここでは、PHP7のインストールディレクトリ下にlogsフォルダを作成し、エラーログファイルとして"D:\usr\xampp7.2.22\php\logs\php_error.log"を指定しました。尚、error_logの値をsyslogに指定するとWindowsのイベントログ(アプリケーションログ)に出力できます。 error_logはエラーログの出力先は設定します。ここでは、PHP7のインストールディレクトリ下にlogsフォルダを作成し、エラーログファイルとして"D:\usr\xampp7.2.22\php\logs\php_error.log"を指定しました。尚、error_logの値をsyslogに指定するとWindowsのイベントログ(アプリケーションログ)に出力できます。
 +
 +\\
  
 ==== [PHP]データ処理 ==== ==== [PHP]データ処理 ====
  
 <code ini> <code ini>
-magic_quotes_gpc Off+post_max_size 40M
 default_mimetype = "text/html" default_mimetype = "text/html"
 default_charset = "UTF-8" default_charset = "UTF-8"
 </code> </code>
  
-magic_quotes_gpcGPC(HTTPGet/Post/Cookie)に対するマジックォートの設定行います。マジッククォートとは、'(シングクオト)、"(ダブルク オート)、\(バックスラッシュ) 、NULLて、自動的に\(バクスラッシュ)でエスケプされ処理事です。 +post_max_size一回エスでPOSTできる最大のサイズ指定します。この設定は、upload_max_filesize(ファイの最大アップロドサイズ)も影響ます。大きなファイルをアプロド すには、こ値を upload_max_filesize より大きく設定する必要があります。また、一般的に 前述のmemory_limit は、post_max_sizeよりも大きく する必要があります。
- +
-> PHPでGetをGPostをP、CookieをC、環境変数をE、サーバ変数をSと表記し、それらを組み合わせてGPCやEGPCSなどと呼んでいます。+
  
 default_mimetypeとdefault_charsetはHTTPのContent-typeヘッダに加えるMIMEタイプと文字セットを設定します。 default_mimetypeとdefault_charsetはHTTPのContent-typeヘッダに加えるMIMEタイプと文字セットを設定します。
 +
 +\\
  
 ==== [PHP]パスとディレクトリ ==== ==== [PHP]パスとディレクトリ ====
行 96: 行 124:
  
 extension_dirは拡張モジュールのあるディレクトリを設定します。extension_dirは以下の動的エクステンションをロードするextensionディレクティブで使用されます。 extension_dirは拡張モジュールのあるディレクトリを設定します。extension_dirは以下の動的エクステンションをロードするextensionディレクティブで使用されます。
 +
 +\\
 +
 +==== [PHP]ファイルアップロード ====
 +
 +<code ini>
 +upload_max_filesize = 40M
 +max_file_uploads = 20
 +</code>
 +
 +upload_max_filesize は、1ファイルあたりの最大アップロードサイズを、max_file_uploadsは、1回のリクエストでアップロードできる最大のファイル数を指定します。upload_max_filesize は前述のpost_max_sizeを超える事はできません。
 +
 +\\
  
 ==== [PHP]動的エクステンション ==== ==== [PHP]動的エクステンション ====
行 102: 行 143:
 extension=bz2 extension=bz2
 extension=curl extension=curl
-+extension=fileinfo 
 +extension=gd2 
 +extension=gettext 
 +extension=mbstring 
 +extension=exif 
 +extension=mysqli 
 +extension=pdo_mysql 
 +extension=pdo_sqlite 
 +extension=php_openssl.dll 
 +extension=php_ftp.dll
 </code> </code>
  
行 109: 行 159:
 extensionで指定するモジュール名はOSによって異なり、Windwosの場合、例えば上の例(bz2)ではextension_dirの下に php_bz2.dll があり、'bz2'の部分がモジュール名に相当します。 extensionで指定するモジュール名はOSによって異なり、Windwosの場合、例えば上の例(bz2)ではextension_dirの下に php_bz2.dll があり、'bz2'の部分がモジュール名に相当します。
  
-XAMPP7.2.22でインストールしたphp.iniでは以下の拡張モジュールがデフォルトで有効になっています。 +XAMPP7.2.22でインストールしたphp.iniではの拡張モジュールがデフォルトで有効になっています。これら以外の拡張モジュールも設置可能なので、インストールしたphpのextensionフォルダを確認して見てください。尚、PHP拡張モジュールの Windows へのインストール の詳細は以下を参照して下さい。
- +
-|モジュール名|機能| +
-|bz2|| +
-|curl|| +
-|fileinfo|| +
-|gd2|| +
-|gettext| +
-|mbstring|| +
-|exif|| +
-|mysqli|| +
-|pdo_mysql|| +
-|pdo_sqlite|| +
-|openssl|| +
-|ftp|| +
- +
-これら以外の拡張モジュールも設置可能なので、インストールしたphpのextensionフォルダを確認して見てください。尚、PHP拡張モジュールの Windows へのインストール の詳細は以下を参照して下さい。+
  
 > https://www.php.net/manual/ja/install.pecl.windows.php > https://www.php.net/manual/ja/install.pecl.windows.php
 +
 +\\
  
 ===== .htaccessによるディレクティブの設定 ===== ===== .htaccessによるディレクティブの設定 =====
  
-PHP を Apache 拡張モジュールで使用する場合、Apacheのhttpd.confや.htaccessファイルにphp.iniのディレクティブを記述する事ができます。通常、httpd.confが変更可能な人達(例えば:プロバイダやシステム管理者)はphp.iniを変更できる権限もあります。一方、一般の利用者はhttpd.confもphp.iniも変更できないので、.htaccessを利用する事になります。.htaccessファイルによるPHPディレクティブの上書きには、AllowOverride Optionsの権限が必要になります。本編でApacheはドキュメントルート以下に対して AllowOverride Allの権限を与えているので、.htaccessによるPHPの設定が可能です。+PHP を Apache 拡張モジュールで使用する場合、Apacheのhttpd.confや.htaccessファイルにphp.iniのディレクティブを記述する事ができます。通常、httpd.confが変更可能な人達(例えば:プロバイダやシステム管理者)はphp.iniを変更できる権限もあります。一方、一般の利用者はhttpd.confもphp.iniも変更できないので、.htaccessを利用する事になります。.htaccessファイルによるPHPディレクティブの上書きには、AllowOverride Optionsの権限が必要になります。
  
-.htaccessで設定できるPHPディレクティブは、 PHPマニュアル: +.htaccessで設定できるPHPディレクティブは、以下のPHPマニュアルの中で PHP_INI_ALL または PHP_INI_PERDIR と指定されているものだけです。
-> http://www.php.net/manual/en/ini.php+
  
-でPHP_INI_ALL またはPHP_INI_PERDIR と指定されているものだけです。 以下に、.htaccessの例を示します。+  * http://www.php.net/manual/ja/ini.php 
 + 
 +以下に、.htaccessの例を示します。
  
 .htaccess .htaccess
 <code> <code>
-<IfModule mod_php5.c> +php_flag  magic_quotes_gpc On 
-  php_flag  magic_quotes_gpc On +php_value include_path "./include"
-  php_value include_path "./include" +
-</IfModule>+
 </code> </code>
-※mbstring関連のディレクティブ(mbstring.language、mbstring.internal_encoding など)も.htaccessで設定できます。 
  
 php_flagはPHPディレクティブの値が論理値(boolean)の場合に使用し、php_valueは文字列(string)の場合に使用します。詳細は以下のURLを参照して下さい。 php_flagはPHPディレクティブの値が論理値(boolean)の場合に使用し、php_valueは文字列(string)の場合に使用します。詳細は以下のURLを参照して下さい。
行 153: 行 187:
 Windowsで.htaccessを作成する場合は、少し工夫が必要です。エクスプローラで、[新規作成][テキスト ドキュメント]としてからファイル名を.htaccessに変更しようとしても上手くできません。メモ帳などのエディタから[名前を付けて保存]を使用して.htaccessファイルを作成するようにします。 Windowsで.htaccessを作成する場合は、少し工夫が必要です。エクスプローラで、[新規作成][テキスト ドキュメント]としてからファイル名を.htaccessに変更しようとしても上手くできません。メモ帳などのエディタから[名前を付けて保存]を使用して.htaccessファイルを作成するようにします。
  
 +\\
 +
 +===== php.iniの確認 =====
 +
 +php.ini で設定した内容は、phpinfo()関数のでプリントできます。XAMPPでは以下のURLでphpinfo()関数の実行ができます。
 +
 +  * http://localhost/dashboard/phpinfo.php
 +
 +また、コマンドラインから行うには以下のようにします:
 +
 +<code>
 +C:\>php -i
 +</code>
 +
 +\\
  
php/7.2/php.ini.1583386769.txt.gz · 最終更新: 2020/03/05 14:39 by y2sunlight