2016-11-09 93 views
6

我剛剛買了新的MacBook Pro。採取什麼php -i | grep ini回報看:MacOsX Sierra上的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文件。可能嗎?

+1

是什麼'PHP --ini'說明了什麼? –

+0

我已更新問題 – sensorario

+1

檢查此問題;本質上,'/ etc'或'/ private/etc'中應該有一個php.ini.default文件;複製到'/ etc/php.ini'或'/ private/etc/php.ini'中。 http://stackoverflow.com/q/19827495/899126 –

回答

26

當前版本的Mac OS X不附帶php.ini。 PHP對所有設置使用內部默認值。

有一個示例配置文件安裝在/etc/php.ini.default。如果您需要自定義PHP設置,則可以使用該文件作爲模板來創建配置文件/etc/php.ini。如果PHP存在,PHP將從該文件讀取設置。

+0

您在哪裏找到了這個信息?哪裏可以找到所有關於新的MacOS版本的新php配置? – sensorario

+0

我剛剛爲Mac下載了php7.0,並且有一個名爲php-7.0.ini的ini文件。我想你會將它複製到/etc/php.ini以使其生效 – omarjebari

3

有一個稱爲php_ini_loaded_file()的PHP函數,它返回加載的php.ini的路徑。

請試試下面的代碼。

<?php 
$inipath = php_ini_loaded_file(); 

if ($inipath) { 
    echo 'Loaded php.ini: ' . $inipath; 
} else { 
    echo 'A php.ini file is not loaded'; 
} 
?> 
+0

我試過了:它返回false – sensorario

+0

您將不得不將文件/etc/php.ini.default重命名爲/etc/php.ini – Samay

2

您可以使用find命令來搜索php.ini文件系統或其他任何東西。根據您的文件系統大小,可能需要很長時間才能找到它。如果你想讓它停止搜索,你可以做CTRL-C

find/-type f -name php.ini 

如果你不是根用戶,你會得到一些權限被拒絕的消息,如果你想爲根,你可以做到這一點運行。

sudo find/-type f -name php.ini 

這裏是一個教程,用於查找您是否對其他示例感興趣。

http://www.tecmint.com/35-practical-examples-of-linux-find-command/

0
php -r "echo php_ini_loaded_file();" 
在我的機器返回

/usr/local/etc/php/7.1/php.ini 

;)

0

這在MacOS上塞拉利昂與PHP 7.1爲我工作裝:

  1. 創建一個名爲phpinfo_temp.php一個PHP文件(記得要刪除此文件時,即可大功告成):

    <?php phpinfo(); ?>

  2. 加載該文件,你會發現約7變量下來:「加載的配置文件: 」。這是加載的php文件。

  3. 備份之前編輯php.ini文件:

    sudo cp /usr/local/php5/lib/php.ini /usr/local/php5/lib/php.ini.backup

  4. 然後編輯PHP。INI

    sudo nano /usr/local/php5/lib/php.ini

  5. 一旦你完成編輯,重新啓動Apache服務器

    sudo apachectl restart

6

編輯:下面的方法進行了測試,我確認它工作在MacOS,Linux的和Windows'CMD和Bash

所有你需要輸入的終端/ CMD/Bash是

php --ini 

,它將使someth:

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)