PHP安装扩展不生效!

可能是因为使用了mac自带的apache,在使用过程中因为需要支持php8,自己下载了php 通过自建签名的方式添加到httpd.conf配置文件里面去导致无法加载扩展。我屏蔽mac自带的apache,用自己下的就没有这个问题。

MacOS下安装phpredis,但是在phpinfo中redis扩展并未生效,只能在命令行中使用。

1. 运行环境

MacOS 12.3
系统自带apache

2). 当前使用的 php/php-fpm 版本?

PHP 版本:PHP 8.1.11 (cli)

php-fpm 版本:PHP 8.1.11 (fpm-fcgi)
Zend Engine v4.1.4

2. 问题描述

我打开了错误日志,发现每次重启apache时都会有:

PHP Warning: PHP Startup: Unable to load dynamic library 'redis.so' (tried: /opt/homebrew/lib/php/pecl/20210902/redis.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/redis.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/redis.so' (code signature in <28C0C7B9-84CE-3CC1-BE4C-D773ACDCDB30> '/opt/homebrew/lib/php/pecl/20210902/redis.so' not valid for use in process: mapped file has no Team ID and is not a platform binary (signed with custom identity or adhoc?))), /opt/homebrew/lib/php/pecl/20210902/redis.so.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/redis.so.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/redis.so.so' (no such file))) in Unknown on line 0

为什么会提示.so文件无效?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

可能cli使用的ini文件和phpinfo不是一个,php --ini 检查一下

2年前 评论

Linux 上是 CLIFPM 配置是分开的,你得去 FPM 启用。
macOS 估计也一样。

2年前 评论

看看是不是内置服务器没重启,需要重启后,才会重新加载 php.ini 配置

1,Ctrl + C

2 ,php artisan serve

2年前 评论

php重启一下,linux cli 和 fpm 是不同的 ini

2年前 评论
Buffett-Cai

你应该找到实际执行代码的phpini,建议创建一个info.php,写一行echo phpinfo(),然后去访问这个文件。装了2个一样的软件,很容易搞混,apache用的PHP可能不是你以为的那个PHP,apache可能也不是你以为的那个apache

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!