1. 云栖社区>
  2. PHP教程>
  3. 正文

记一次proc_open没有开启心得感悟

作者:用户 来源:互联网 时间:2017-12-01 09:04:36

openproc开启心得感悟没有

记一次proc_open没有开启心得感悟 - 摘要: 本文讲的是记一次proc_open没有开启心得感悟, 引言:   今天在部署服务器的时候,使用composer来安装依赖。遇到了   The Process class relies on proc_open, which is not available on your PHP insta

引言:   今天在部署服务器的时候,使用composer来安装依赖。遇到了


  The Process class relies on proc_open, which is not available on your PHP installation.


  开始的时候,我有些不知所措,于是冷静下来思考一番,然后goolge了一下


解决方法:


  在php.ini中,找到disable_functions选项,看看后面是否有proc_open函数被禁用了,如果有的话,去掉即可


  其实如果php的文档熟悉的话,你应该马上就能知道proc_open实际上是一个函数,是php用来和shell交互的函数,一般这种可以直接作用于操作系统的函数是非常不安全的,对于这种不安全的函数,总是要做一些措施来进行保护


正如在google上寻找找的答案一样,在php.ini的配置中,找到disable_functions选项,这个选项就是专门用来禁止某些不安全函数的,尤其在命令行运行时,很可能对操作系统带来安全隐患


回忆:


  记得两年前写想要写定时备份数据库的脚本的时候,起初我的本意是使用php来写,但是使用到system函数的时候,却总是没有办法使用,我一度以为是我的系统有问题,后来没有为了完成任务,我非常无奈的就使用了shell来完成了那个任务


  现在回想起来,我当时遇到的问题和此时遇到的问题异曲同工,然后加上自己对linux命令行的理解,然后开始到,我或许应该写下些什么。


使用PHP的时候,你可以用它来写网页,脚本,但是有些时候,在网页上和命令行下使用的配置应该是不一样的


  如果使用apache服务器的话,那么还有专门给apache使用的php.ini配置,如果对PHP的运行原理不清晰的话,很容易就会被各种各样的配置迷惑


  在不确定php.ini的配置之前,其实我们可以简单的用linux命令行 find / -name php.ini 命令来查看,整个系统中,到底有多少的配置文件


一般正常来说,经过web的情况下,使用的是/etc/php.ini


  而如果使用命令行的话,可能会使用php安装目录下的php.ini


  如果还有其他的,那么查看一下也是能够找到原因的

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索open , proc , 开启 , 心得 , 感悟 没有 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备
Kubernetes上基于Istio体验云原生应用实践 资料下载