首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php-fpm未加载与php-cli相同的扩展名

php-fpm未加载与php-cli相同的扩展名
EN

Stack Overflow用户
提问于 2019-05-08 06:46:15
回答 2查看 1K关注 0票数 1

使用php-5.4。我正在尝试加载'oci8.so‘来访问函数oci_connect。在命令行中,我可以很好地访问上述函数。但是(在重新加载、重新启动和重新加载之后) php-fpm拒绝加载扩展。

php -r 'print_r(get_loaded_extensions());列出了oci8

代码语言:javascript
运行
复制
Array
(
    [0] => Core
    [1] => date
    [2] => ereg
    [3] => libxml
    [4] => openssl
    [5] => pcre
    [6] => zlib
    [7] => bz2
    [8] => calendar
    [9] => ctype
    [10] => hash
    [11] => filter
    [12] => ftp
    [13] => gettext
    [14] => gmp
    [15] => SPL
    [16] => iconv
    [17] => pcntl
    [18] => readline
    [19] => Reflection
    [20] => session
    [21] => standard
    [22] => shmop
    [23] => SimpleXML
    [24] => sockets
    [25] => exif
    [26] => tokenizer
    [27] => xml
    [28] => curl
    [29] => fileinfo
    [30] => json
    [31] => oci8
    [32] => Phar
    [33] => zip
    [34] => mhash
)

但是,curl localhost/extensions.php读取

代码语言:javascript
运行
复制
Array
(
    [0] => Core
    [1] => date
    [2] => ereg
    [3] => libxml
    [4] => openssl
    [5] => pcre
    [6] => zlib
    [7] => bz2
    [8] => calendar
    [9] => ctype
    [10] => hash
    [11] => filter
    [12] => ftp
    [13] => gettext
    [14] => gmp
    [15] => SPL
    [16] => iconv
    [17] => Reflection
    [18] => session
    [19] => standard
    [20] => shmop
    [21] => SimpleXML
    [22] => sockets
    [23] => exif
    [24] => tokenizer
    [25] => xml
    [26] => cgi-fcgi
    [27] => curl
    [28] => fileinfo
    [29] => json
    [30] => Phar
    [31] => zip
    [32] => mhash
    // missing oci8
    // and also missing 'pcntl'??
)

fpm和cli读取的是完全相同的php.ini。我已经检查并测试过了。

任何错误日志中都没有任何内容。

EN

回答 2

Stack Overflow用户

发布于 2019-05-08 07:01:49

根据您安装PHP FPM的方式,但在Debian CLI和FPM上使用不同的ini文件,请尝试:

代码语言:javascript
运行
复制
   php -i | grep php.ini

Mines为/etc/php/7.0/cli/php.ini

代码语言:javascript
运行
复制
    <?php phpinfo(); ?>

我的是/etc/php/7.0/fpm/php.ini

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2020-06-05 00:59:08

我不确定这是否相关,但这在我的"Amazon Linux2AMI“上发生过,所以我猜"CentOS”也是如此。

长话短说,我安装了composer和其他php软件。

代码语言:javascript
运行
复制
[zzzz@stageOpenID /etc/httpd/sites-enabled]$ php -i
phpinfo()
PHP Version => 7.2.30

System => Linux stageOpenID 4.14.177-139.254.amzn2.x86_64 #1 SMP Thu May 7 18:48:23 UTC 2020 x86_64
Build Date => May  5 2020 18:04:39
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
Scan this dir for additional .ini files => /etc/php.d
Additional .ini files parsed => 

到目前一切尚好。

现在让我们来看看网络。

来自phpinfo.php:

代码语言:javascript
运行
复制
PHP Version: 7.2.30 
System: Linux stageOpenID 4.14.177-139.254.amzn2.x86_64 #1 SMP Thu May 7 18:48:23 UTC 2020 x86_64
Build Date: May 5 2020 18:06:20
Server API: FPM/FastCGI
Virtual Directory Support: disabled
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan this dir for additional .ini files /etc/php.d
Additional .ini files parsed

但是列表是不同的。

为什么?很简单,因为在yum安装之后,我重新启动了httpd,但是我忘记了重新启动php-fpm,所以php-cli获得了新模块,而php-fpm没有。

所以,别忘了:

代码语言:javascript
运行
复制
sudo systemctl restart php-fpm
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56031380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档