与此问题类似:gd2未显示在phpinfo中,显示在php -i中
我有同样的问题mbstring.我在我的启用它php.ini(这是我整个系统中唯一的- 是的,我检查并仔细检查了它!php.ini ),但是当我打开phpinfo我的Apache时,mbstring丢失了.如果我这样做php -i,所有mbstring数据都很好地显示出来.
Apache(phpinfo.php)
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File F:\PHP\5.4\php.ini
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
Run Code Online (Sandbox Code Playgroud)
Apache(index.php)
Fatal error: Call to undefined function mb_get_info()
in F:\Apache\httpd-2.4\htdocs\index.php on line 2
Run Code Online (Sandbox Code Playgroud)
PHP CLI:
F:\Apache\httpd-2.4\htdocs> php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: F:\PHP\5.4\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
F:\Apache\httpd-2.4\htdocs> php index.php
array(14) {
["internal_encoding"]=>
string(10) "ISO-8859-1"
["http_output"]=>
string(4) "pass"
["http_output_conv_mimetypes"]=>
string(31) "^(text/|application/xhtml\+xml)"
["func_overload"]=>
int(0)
["func_overload_list"]=>
string(11) "no overload"
["mail_charset"]=>
string(5) "UTF-8"
["mail_header_encoding"]=>
string(6) "BASE64"
["mail_body_encoding"]=>
string(6) "BASE64"
["illegal_chars"]=>
int(0)
["encoding_translation"]=>
string(3) "Off"
["language"]=>
string(7) "neutral"
["detect_order"]=>
array(2) {
[0]=>
string(5) "ASCII"
[1]=>
string(5) "UTF-8"
}
["substitute_character"]=>
int(63)
["strict_detection"]=>
string(3) "Off"
}
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?臭虫apache/ phpinfo()?
问题是,当通过apache加载PHP时,extension_dir显然是相对于apache服务器根目录读取的.
但是,从命令行开始,它是相对于PHP根目录读取的.
因此,尽管它是相同的加载php.ini,因为我设置扩展dir ext而不是F:\PHP\5.4\ext,apache(或更确切地说:PHP)搜索它F:\Apache\2.4\ext,它没有找到明显的原因.
设置extension_dir为绝对文件夹解决了问题.现在apache和cmd都加载完全相同的配置,包括所有扩展(这正是我想要的).
| 归档时间: |
|
| 查看次数: |
4904 次 |
| 最近记录: |