ホームページ  >  記事  >  バックエンド開発  >  PHP で Linux コマンドを呼び出すための権限が不十分な場合の解決策

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

怪我咯
怪我咯オリジナル
2017-07-04 14:21:502306ブラウズ

この記事は主に、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。