記一次proc_open沒有開啓心得感悟

引言:
  今天在部署服務器的時候,使用composer來安裝依賴。遇到了php

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

  開始的時候,我有些不知所措,因而冷靜下來思考一番,而後goolge了一下
web

解決方法:shell

  在php.ini中,找到disable_functions選項,看看後面是否有proc_open函數被禁用了,若是有的話,去掉便可
數據庫

  其實若是php的文檔熟悉的話,你應該立刻就能知道proc_open其實是一個函數,是php用來和shell交互的函數,通常這種能夠直接做用於操做系統的函數是很是不安全的,對於這種不安全的函數,老是要作一些措施來進行保護
apache

     正如在google上尋找找的答案同樣,在php.ini的配置中,找到disable_functions選項,這個選項就是專門用來禁止某些不安全函數的,尤爲在命令行運行時,極可能對操做系統帶來安全隱患安全

回憶:服務器

  記得兩年前寫想要寫定時備份數據庫的腳本的時候,起初個人本意是使用php來寫,可是使用到system函數的時候,卻老是沒有辦法使用,我一度覺得是個人系統有問題,後來沒有爲了完成任務,我很是無奈的就使用了shell來完成了那個任務composer

  如今回想起來,我當時遇到的問題和此時遇到的問題殊途同歸,而後加上本身對linux命令行的理解,而後開始到,我或許應該寫下些什麼。函數

      使用PHP的時候,你能夠用它來寫網頁,腳本,可是有些時候,在網頁上和命令行下使用的配置應該是不同的

  若是使用apache服務器的話,那麼還有專門給apache使用的php.ini配置,若是對PHP的運行原理不清晰的話,很容易就會被各類各樣的配置迷惑

    在不肯定php.ini的配置以前,其實咱們能夠簡單的用linux命令行 find / -name php.ini 命令來查看,整個系統中,到底有多少的配置文件

      通常正常來講,通過web的狀況下,使用的是/etc/php.ini

  而若是使用命令行的話,可能會使用php安裝目錄下的php.ini

  若是還有其餘的,那麼查看一下也是可以找到緣由的

尾語:

  其實我曾經一直都是一個不太愛鑽研的人,遇到問題的時候,我老是想着去逃避,這麼多年積累下來,感受本身就是一個問題少年,遇到一樣問題的時候,我雖然老是能回想起那曾經遇到的相似的問題

  可是這樣其實沒有什麼意義,如今我逐漸明白,逃避是沒有辦法解決任何問題的,只有不斷的學習,而且敢於思考,纔能有所收穫。

  很差的習慣要善於去改變,我相信,將來我遇到問題的時候,個人第一反應不是我曾經遇到過這樣的問題,而是我曾經解決過這樣的問題。

  不過如是如此的話,那應該就不算作是問題了!

相關文章
相關標籤/搜索