使用composer提示[ErrorException ]proc_get_status() has been disabled for security reasons 的解決方法
從錯誤提示資訊中可以看到是因為關閉了PHP的proc_get_status()函式,那麼如何解決這個問題呢?
開啟php.ini檔案,搜尋 disable_functions,找到如下類似內容:
disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_get_status,proc_open,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
找到proc_get_status並刪除然後重啟php服務。
解決上面的提示後繼續使用composer又出現了新的錯誤提示:[Symfony\Component\Process\Exception\RuntimeException] The Process class relies on proc_open,如圖:
這個是缺少了PHP的proc_open函式,解決方法同樣是開啟php.ini檔案搜尋disable_functions,刪除disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server中的proc_open並重啟
然後使用composer就正常了,上面兩個問題可以看出用composer來安裝drupal8模組需開啟proc_open和proc_open這兩個PHP函式。