PHP で Linux コマンドを呼び出すための権限が不十分な場合の解決策

怪我咯
リリース: 2023-03-12 16:16:01
オリジナル
2356 人が閲覧しました

この記事は主に、PHPLinuxを呼び出す際にコマンド権限が不足する問題の解決方法を紹介するもので、sudo設定ファイルを変更することで、実行権限がない問題を解決するものです。コマンドが解決されました。必要な友人はそれを参照してください

ビジネスの背景: yourcmd は私の Linux プログラムです。php を使用して cmd プログラムを実行する場合は、非常に厳しい権限要件があります。システム: CentOS 6.3

実行ユーザーです。 php

exec

function

を使用してLinuxを実行します。システム上のプログラム/usr/local/yourcmd/sbin/yourcmd

phpコード

は次のとおりです:
コードは次のとおりです:

<?php
$conf_file = "/var/www/html/webroot/test.tmp";
$command = "sudo /usr/local/yourcmd/sbin/yourcmd -t -f {$conf_file}";
exec($command,$out);
print_r($out);
ログイン後にコピー

テストの結果、権限がありません


コードは次のとおりです:

Array ( [0] => sudo: no tty present and no askpass program specified )
ログイン後にコピー

解決手順:


コードは次のとおりです:

$ visudo
ログイン後にコピー

1)

コメント

次の行
コードは次のとおりです:

#Defaults    requiretty
ログイン後にコピー

2) ファイルの最後に以下を追加します


コードは次のとおりです:

apache ALL=(ALL) NOPASSWD: ALL
Cmnd_Alias yourcmd = /usr/local/yourcmd/sbin/yourcmd
ログイン後にコピー

最終テスト結果


コードは次のとおりです:

Array ( [0] => Warning: memory is too small: 1044725760 [1] => test configure is ok )
ログイン後にコピー

以上がPHP で Linux コマンドを呼び出すための権限が不十分な場合の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!