linux centos nginx php-fpm 相加php扩展,才发现php.ini在phpinfo里没有

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux centos nginx php-fpm 相加php扩展,才发现php.ini在phpinfo里没有相关的知识,希望对你有一定的参考价值。

今天想给php加个redis扩展,phpize安装好生成redis.so后,在/etc/php.ini下加入了extension=redis.so。再次运行phpinfo,问题来了
没有出现redis。我怀疑是不是加错php.ini了,因为,phpinfo的信息里,没有告诉我php.ini,只说目录是/etc

但是文件是none.
于是我把源码包里/usr/local/php/下的php.ini-develop,php.ini-production都拷贝到/etc下重命名为php.ini.重启service php-fpm restart。还是像截图那样的,不显示php.ini。
后来,我又把php.ini加到/usr/local/php/etc/下。问题依旧。
最后,我发文求助大家,你们遇到过么,有解决的吗,不吝赐教。感谢了!
版本 nginx 1.9.1和php 5.6.9。

额...不用显示php.ini啊。告诉你放etc下就可以了
extension=redis.so
你确定这个so已经放在了php对应的目录下了么
extension=/path/to/extension/msql.so
写成这样的全路径试试追问

你看这种情况的,就有php。ini

追答

你把原来的php.ini拷贝回去呢?估计还是php的配置问题

参考技术A 难道php.ini文件权限问题?检查下文件权限试试,或者看看php启动日志。

CentOS Linux release 7 Nginx 部署

Nginx 下载
nginx官网下载地址:
https://nginx.org/en/download.html

下载最新稳定版本的Nginx:
wget -q https://nginx.org/download/nginx-1.16.0.tar.gz

Nginx 源代码编译安装
系统安装必备组件:
yum install gcc gcc-c++ pcre pcre-devel zlib-devel openssl-devel openssl -y

添加Nginx用户:
useradd nginx -s /sbin/nologin -M

建立对应目录:
mkdir -p /var/cache/nginx/client_temp

源码解压缩编译安装:
tar -xf nginx-1.16.0.tar.gz
cd nginx-1.16.0
./configure --user=nginx --group=nginx --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt=‘-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC‘ --with-ld-opt=‘-Wl,-z,relro -Wl,-z,now -pie‘

快速测试上一步运行是否出错(正确数字为0,错误为其他数字):
echo $?
0

make && make install

快速测试上一步运行是否出错(正确数字为0,错误为其他数字):
echo $?
0

查看Nginx版本及安装参数:
nginx -V
nginx version: nginx/1.16.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt=‘-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC‘ --with-ld-opt=‘-Wl,-z,relro -Wl,-z,now -pie‘

查看Nginx原始配置文件:
egrep -v "#|^$" /etc/nginx/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

查看Nginx配置文件语法是否正确:
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nginx配置前进行原始配置文件的备份:
mv /etc/nginx/nginx.conf /etc/nginx/nginx.confori

以上是关于linux centos nginx php-fpm 相加php扩展,才发现php.ini在phpinfo里没有的主要内容,如果未能解决你的问题,请参考以下文章

Linux:CentOS7下安装Nginx的详细步骤

linux服务之nginx的安装及配置(centos)

linux系统centos7安装最新版本nginx

linux centos7 安装nginx并启动

Linux CentOS 安装 Nginx

CentOS Linux release 7 Nginx 部署