我刚买了新的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文件。有可能吗?
答案 0 :(得分:47)
当前版本的Mac OS X未附带php.ini
。 PHP对所有设置使用内部默认值。
/etc/php.ini.default
处安装了示例配置文件。如果需要自定义PHP设置,可以使用该文件作为模板在/etc/php.ini
创建配置文件。 PHP将从该文件中读取设置(如果存在)。
答案 1 :(得分:19)
编辑:测试了以下方法,我确认它适用于macOS,Linux和Windows' CMD和Bash
您需要输入终端/ 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)
答案 2 :(得分:5)
有一个名为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';
}
?>
答案 3 :(得分:2)
您可以使用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/
答案 4 :(得分:2)
php -r "echo php_ini_loaded_file();"
我机器上的返回:
/usr/local/etc/php/7.1/php.ini
)
答案 5 :(得分:1)
这适用于安装了PHP 7.1的MacOS Sierra:
创建一个名为phpinfo_temp.php的php文件(记得在完成后删除此文件):
<?php phpinfo(); ?>
加载文件,您会注意到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
答案 6 :(得分:0)
.ini
文件通常不存在,但在.ini.default
中被命名为/etc
。
答案 7 :(得分:0)
我将为在MacOS Mojave和PHP 7.1上处理此问题的任何人添加更新的答案
在终端中运行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.ini.default
中找到了/private/etc/
文件,将其复制并重命名为php.ini
,现在可以正确加载了该文件:
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)