首页 >后端开发 >PHP问题 > 正文

linux配置php.ini不起作用怎么办

原创2021-05-12 10:33:1501246

linux配置php.ini不起作用的解决办法:1、将php.ini放到指定目录下;2、开启命令时使用“-c”参数指定要读的配置文件路径。

本文操作环境:linux5.9.8系统、PHP7.1版,DELL G3电脑

linux上修改php.ini配置添加扩展时不生效

因初次编译安装php时没有开启openssl, 导致请求https网站报错, 为此需要手动编译openssl扩展然后添加到php.ini中. 问题就在自己明明已经编译安装生成openssl.so的步骤都没有错, 也已经将extension=openssl.so加入php.ini中,服务器也重启了, 但是无论是访问phpinfo()打印的出内容还是直接命令行php -m打印加载的模块都没有显示有加载openssl.

对于以上问题, 其实问题就在如果自己编译生成的openssl.so没有问题, php.ini配置也加了,还是没有生效那么就要想到自己改的php.ini不是被加载的那个. 如何验证?

1. web模式访问 phpinfo()打印出的内容. 找到如下图所示信息, 第一行为php会在什么目录下需找php.ini配置文件, 第二行就是实际加载的php.ini文件, 没有就是php系统默认的咯. 解决办法: 要生效很简单就是将php.ini放到那个第一行所示目录下即可 . (可能很多人的文件是放在etc下)

2. php命令行模式加载的php.ini(很有可能和web模式加载的不一样); linux上先将目录切换都你php安装目录的bin下, 然后使用 ./php --ini会显示如下图信息; 第一行为php会在哪个目录下寻找php.ini文件, 第二行是实际加载的php.ini文件路径, none就是什么配置文件都没有用,使用了系统的默认配置. 解决办法: 将你的php.ini文件放到那个目录下, 或者开启命令时使用-c参数指定要读的配置文件路径. (例如php -c /usr/local/php.ini --ini 看下指定的是不是生效)

此外因为php命令行(cli) 模式下加载配置位置的不一样, 比如扩展目录(可通过php -i 命令输出的内容找到extension_dir字段就是),假设你要添加一个openssl扩展, 那么你将extension=openssl.so加入到php.ini, 但是如果你的openssl.so不在extension_dir字段所指的目录下, 你用php -m 查看加载的扩展是无法看到的,所以要么配置中写绝对路径或将扩展放对地方。

推荐学习:《PHP视频教程

以上就是linux配置php.ini不起作用怎么办的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:linux
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • PHP开发基础之语法篇PHP开发基础之语法篇
  • PHP开发基础之字符串篇PHP开发基础之字符串篇
  • PHP开发基础之类与对象篇PHP开发基础之类与对象篇
  • PHP开发基础之数据库篇(PDO)PHP开发基础之数据库篇(PDO)
  • php8,我来也php8,我来也
  • 视频教程分类