php - php-fpm 不加载相同的扩展 php-cli 是
问题描述
使用 php-5.4。我正在尝试加载“oci8.so”来访问该功能oci_connect
。在命令行中,我可以正常访问所述功能。但是(在重新加载、重新启动和重新加载之后)php-fpm 拒绝加载扩展。
php -r 'print_r(get_loaded_extensions());
列出oci8
。
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
读
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
。我已经检查并测试过。
任何错误日志中都没有任何内容。
解决方案
好吧,不确定它是否相关,但这发生在“Amazon Linux 2 AMI”上,所以我想也适用于“CentOS”。
长话短说,我安装了作曲家和其他 php 的东西。
[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:
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 没有。
所以,不要忘记:
sudo systemctl restart php-fpm
推荐阅读
- html - html中的SCSS子类
- java - JavaFX 场景中带有嵌套锚窗格的 KeyEvent
- math - 处理溢出时是否有二进制补码乘法的数学公式?
- python - 如何将多个用户输入保存到 Python tkinter 中的变量中?
- r - 如何根据另一列的条件填充该列的值?
- python - 想为不同的限制为相同的数据集做一个for循环
- javascript - 使用 JS 切换标签内的多个类
- python - 规模大于和小于1的scipy正态分布
- go - 在 Kubernetes 中,当另一个容器正在使用内核时,Go 容器是否会使用所有内核
- python - 做 np.select(condlist,choicelist) 做的事,但只用 pandas