1、在命令行下执行php -m 命令查看已经加载的扩展时发现修改后配置文件(php.ini中添加了一些扩展,在WEB请求中使用php_info()能查到已经加载)并不生效。
2、其实这并不是什么地方出了问题,因为命令行下执行的php命令调用的配置文件并不是WEB请求时的配置文件,可以通过命令php --ini查看命令行下调用的配置文件:
/Applications/MAMP/bin/php/php7.2.20/bin/php --ini
Configuration File (php.ini) Path: /Applications/MAMP/bin/php/php7.2.20/conf
Loaded Configuration File: /Applications/MAMP/bin/php/php7.2.20/conf/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
从上面可以看到,此时调用的配置文件路径,所以此次加载的是一个默认的配置。这个当然不会因为你修改了一个php.ini配置而更改。所以这时可以使用的办法是在/opt/modules/php/lib下面建一个php.ini文件,当然如果你的cli配置和web请求的配置是一样的,可以使用一个软链接共用一个配置文件。
php命令帮助信息可查看还有很多可用参数:
php --help
Usage: php [options] [-f] <file> [--] [args...]
php [options] -r <code> [--] [args...]
php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
php [options] -S <addr>:<port> [-t docroot] [router]
php [options] -- [args...]
php [options] -a
-a Run as interactive shell
-c <path>|<file> Look for php.ini file in this directory
-n No configuration (ini) files will be used
-d foo[=bar] Define INI entry foo with value 'bar'
-e Generate extended information for debugger/profiler
-f <file> Parse and execute <file>.
-h This help
-i PHP information
-l Syntax check only (lint)
-m Show compiled in modules
-r <code> Run PHP <code> without using script tags <?..?>
-B <begin_code> Run PHP <begin_code> before processing input lines
-R <code> Run PHP <code> for every input line
-F <file> Parse and execute <file> for every input line
-E <end_code> Run PHP <end_code> after processing all input lines
-H Hide any passed arguments from external tools.
-S <addr>:<port> Run with built-in web server.
-t <docroot> Specify document root <docroot> for built-in web server.
-s Output HTML syntax highlighted source.
-v Version number
-w Output source with stripped comments and whitespace.
-z <file> Load Zend extension <file>.
args... Arguments passed to script. Use -- args when first argument
starts with - or script is read from stdin
--ini Show configuration file names
--rf <name> Show information about function <name>.
--rc <name> Show information about class <name>.
--re <name> Show information about extension <name>.
--rz <name> Show information about Zend extension <name>.
--ri <name> Show configuration for extension <name>.