亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法通過 PHP shell_exec 在 apache 下運行 go 二進制文件

無法通過 PHP shell_exec 在 apache 下運行 go 二進制文件

Go
米琪卡哇伊 2022-06-13 17:21:50
我有一個問題,我不明白發生了什么。我基本上是在使用這個 PHP 腳本來嘗試運行一個 go 二進制文件:<?php shell_exec('/go/bin/x -arg -arg etc');如果我通過命令行運行這個 PHP 文件,它就可以工作。如果我直接在瀏覽器中運行它(它在 www 下)它不起作用。沒有任何錯誤。cli 運行 asroot和 apache as www-data。我已將權限設置為0777for/go/bin/x并且我還將所有者/組更改為www-data. 依然沒有。什么會導致這種行為?另請注意,它shell_exec有效,但到目前為止我只運行了其他 php 文件。
查看完整描述

2 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

敬啟者。


我有同樣的問題,即使它們在終端中運行良好,我也無法通過網站運行 shell_exec/exec。


見日志:


[13-Jul-2020 19:57:23 UTC] PHP Warning: shell_exec() has been disabled for security reasons in /...test_script.php on line 3

案例 1:檢查 disable_function 不包含“shell_exec”或“exec”的所有 php.ini


$ sudo find / -name "php.ini"


$ sudo cat <path_to_php.ini> | grep disable_functions


// disable_functions = <<= This is OK


// disable_functions = "shell_exec, exec, system...." <<= They are disabled

刪除您要使用的功能。不要忘記重啟服務器。


情況 2:如果所有 php.ini 的 disable_functions 都是空的。通過 Cpanel 在您的主機上檢查您的 PHP-FPM。從您的 Cpanel 轉到“MultiPHP Manager”并檢查您域上的 PHP-FPM 狀態。將其關閉,您將能夠運行 shell_exec();

http://img1.sycdn.imooc.com//62a701cf0001a8f002510409.jpg

查看完整回答
反對 回復 2022-06-13
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

我不知道我以前怎么沒有考慮過這個......問題是輸入參數中的 1 個包含文本文件的位置,而 apache 沒有讀取該文件的權限。錯誤在 /var/log/apache2/error.log



查看完整回答
反對 回復 2022-06-13
  • 2 回答
  • 0 關注
  • 270 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號