この記事は主に、PHPLinuxを呼び出す際にコマンド権限が不足する問題の解決方法を紹介するもので、sudo設定ファイルを変更することで、実行権限がない問題を解決するものです。コマンドが解決されました。必要な友人はそれを参照してください
ビジネスの背景: yourcmd は私の Linux プログラムです。php を使用して cmd プログラムを実行する場合は、非常に厳しい権限要件があります。システム: CentOS 6.3
実行ユーザーです。 phpexec
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 サイトの他の関連記事を参照してください。