2

我已经使用与 5.4.13 版本相同的配置在 linux 系统上编译了 5.4.14 版本的 PHP。我运行以下 PHP -i 命令并得到:

[root@localhost php-5.4.14]# php -i
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/20100525/fileinfo.so' - /usr/lib64/20100525/fileinfo.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/20100525/json.so' - /usr/lib64/20100525/json.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/20100525/phar.so' - /usr/lib64/20100525/phar.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/20100525/zip.so' - /usr/lib64/20100525/zip.so: cannot open shared object file: No such file or directory in Unknown on line 0

现在我知道 JSON 现在是 PHP 核心的一部分,并且没有 JSON.SO(我假设其他人也是如此)。有谁知道为什么这是一个问题?我的 php.ini 文件中没有任何 extension=XXXX.so 行。我在 Centos 6.4 下编译。

4

1 回答 1

3

明白了——添加了一个目录 /etc/php.d。这包含一堆 .ini 文件,这些文件被添加到 php.ini 的处理中。例如,json.ini 文件简单地说:extension=json.so

在花了太长时间寻找答案之后,我碰巧在 php -i 输出中发现了一行,指定了附加的 .ini 目录。希望有一天这可以节省一些时间。

于 2013-04-20T16:10:18.690 回答