新しいMacBook Proを購入しました。 php -i | grep ini
が返すものを見てください:
Prompt> php -i | grep ini
Configuration File (php.ini) Path => /etc
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
Supported handlers => ndbm cdb cdb_make inifile flatfile
init_command_executed_count => 0
init_command_failed_count => 0
com_init_db => 0
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException
open sourced by => Epinions.com
そして、これは私がphp --ini
を実行したときに起こることです
Prompt> $ php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
現在のphpはphp.iniファイルをロードしていないようです。出来ますか?
Mac OS Xの現在のバージョンには、php.ini
が付属していません。 PHPは、すべての設定に内部デフォルトを使用します。
/etc/php.ini.default
にサンプル構成ファイルがインストールされています。 PHP設定をカスタマイズする必要がある場合は、そのファイルをテンプレートとして使用して/etc/php.ini
で構成ファイルを作成できます。PHP設定を読み取ります存在する場合はそのファイルから。
編集:次の方法がテストされ、macOS、Linux、WindowsのCMDおよびBashで動作することを確認しました
Terminal/CMD/Bashに入力する必要があるのは
php --ini
次のようにレンダリングされます。
Configuration File (php.ini) Path: /usr/local/etc/php/5.6
Loaded Configuration File: /usr/local/etc/php/5.6/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.6/conf.d
Additional .ini files parsed: (none)
ロードされたphp.iniのパスを返すphp_ini_loaded_file()と呼ばれるPHP関数があります。
以下のコードを試してください。
<?php
$inipath = php_ini_loaded_file();
if ($inipath) {
echo 'Loaded php.ini: ' . $inipath;
} else {
echo 'A php.ini file is not loaded';
}
?>
find
コマンドを使用して、ファイルシステムでphp.iniなどを検索できます。ファイルシステムのサイズによっては、検索に時間がかかる場合があります。検索を停止したい場合は、CTRL-C
。
find / -type f -name php.ini
Root以外の場合、許可が拒否されたというメッセージが表示されます。rootとして実行する場合は、これを実行できます。
Sudo find / -type f -name php.ini
他の例に興味があるかどうかを調べるためのチュートリアルを次に示します。
http://www.tecmint.com/35-practical-examples-of-linux-find-command/
php -r "echo php_ini_loaded_file();"
私のマシンに戻ります:
/usr/local/etc/php/7.1/php.ini
;)
これはMacOS SierraでPHP 7.1がインストールされている場合:
Phpinfo_temp.phpというphpファイルを作成します(完了したらこのファイルを削除することを忘れないでください)。
<?php phpinfo(); ?>
ファイルをロードすると、「Loaded Configuration File:」という7つの変数が表示されます。これはロードされるphpファイルです。
編集する前にphp.iniファイルをバックアップします。
Sudo cp /usr/local/php5/lib/php.ini /usr/local/php5/lib/php.ini.backup
次にphp.iniを編集します
Sudo nano /usr/local/php5/lib/php.ini
編集が完了したら、Apacheサーバーを再起動します
Sudo apachectl restart
ほとんどの場合、.ini
ファイルはそのままではありませんが、.ini.default
の中に /etc
。