ホームページ > バックエンド開発 > PHPチュートリアル > PHP は Linux 上で exec を実行します

PHP は Linux 上で exec を実行します

WBOY
リリース: 2016-06-23 13:54:00
オリジナル
1074 人が閲覧しました

PHP のバージョンは 5.4 です

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

<?phpexec('whoami', $r);var_dump($r);
ログイン後にコピー


root ユーザーはサーバーターミナルで php test.php を使用します
出力結果は次のとおりであり、これは正しいです
[root@localhost htdocs]# php test.phparray(1) {  [0]=>  string(4) "root"}
ログイン後にコピー


ただし http と入力しますブラウザでは ://192.168 x.x/test.php
出力は空です。

Linux サーバーの権限の問題のような気がしますが、どの権限の問題なのかはわかりません。
httpd を実行しているユーザー名は apache です


ディスカッションに返信 (解決策)

whoami ログイン名を表示します
閲覧者は Web サイトに匿名 (つまり、名前なし) でアクセスするため、次のように表示するのが正しいです空

Whoami はログイン名を表示します
訪問者は匿名 (つまり、名前なし) で Web サイトにアクセスするため、空として表示するのが正しいです



exec('date', $r) に変更します; 同じように、権限の問題だと思います。 php.ini の disable_functions に無効な関数はありません

エラーを出力すると、それが権限の問題であるかどうかがわかります

エラーを出力すると、それが権限の問題であるかどうかがわかります


Apache アクセスのログには get リクエストのみが記録されています。
Apache の error.log にはエラーはありません。

エラーを出力すると、権限に問題があるかどうかがわかります


Apache の access.log には、get リクエストのみが記録されます。
Apache の error.log にはエラーはありません。

phpのエラー出力をオンにしてください


エラーを出力すればパーミッションに問題があるか分かります


Apacheのaccess.logにはgetしかありません。リクエスト。
Apache の error.log にはエラーはありません。

phpのエラー出力をオンにしてください

エラー出力はphp.iniのdisplay_errorsを参照していますか?
そうであれば、display_errors はすでにオンになっています


エラーがない場合は、chmod を実行して 777 を与えることができます

whoami と date の両方で結果をブラウザに出力できます
Linux でテストしました 残りはあなただと思います。次の 2 つの文字と権限については、後者を選択する傾向があるはずです...


エラーがなければ、chmod を実行して 777 を与えることができます

whoami と date の両方がブラウザの下で結果を出力できます

Linux でテストしました。残りの 2 つは文字と権限です。後者を選択する方がよいと思います...


上記の test.php を 777 に変更します。 test.php の所有権を apache または root

-rwxrwxrwx に変更しても、変更後も動作しません。 1 root root 38 Jul 10 16:14 test.php


エラーがない場合

それから chmod を実行できます 777

whoami と date は両方ともブラウザーで結果を出力できます
残りの 2 つは文字と権限です...


上記の test.php を 777 に変更しますか?変更後、test.php の所有権を apache または root

-rwxrwxrwx に変更しても、まだ機能しません。 1 root root 38 Jul 10 16:14 test.php

ディレクトリのアクセス許可はどうですか?変更して見てみましょう。他に何も考えられません。どの Linux でテストしましたか? Ubuntu でテストしましたが、すべて問題ありませんでした...
テストしましたが、すべて正常でした。

私の環境は:
Centos 6.5

PHP 5.4

Apache 2.4

Apache httpdの実行ユーザー名(グループ)は非ログインapache: apache


nginx
php 5.3出力がないことを意味します

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