shell_execからphp-fオプションが機能しない

jsherk

したがって、サーバーにSSHで接続して次のコマンドを実行すると、期待どおりに機能し、スクリプトは正常に実行されます(-fオプションを使用していることに注意してください)。

/usr/bin/php -f /home/somefolder/test.php

Expected Output is OK: hello world

-fオプションを指定せずにコマンドを実行すると、基本的に内容がhtmlファイルとして表示されます(これは予想される動作です)。

/usr/bin/php /home/somefolder/test.php

Expected Output is OK: Content-type: text/html; charset=UTF-8

これまでのところ、すべてが期待どおりに機能します!!

しかし、shell_exec()を使用して別のphpスクリプトからこれらの同じコマンドを呼び出そうとすると、ファイルが実行されません。-fオプションがある場合とない場合の両方で、同じ応答が返されます。

したがって、-fオプションを使用すると:

$out = shell_exec("/usr/bin/php -f /home/somefolder/test.php");
echo $out;

Output is not ok: Content-type: text/html; charset=UTF-8
Expected Output should be: hello world

そして-fオプションなし:

$out = shell_exec("/usr/bin/php /home/somefolder/test.php");
echo $out;

Expected Output is OK: Content-type: text/html; charset=UTF-8

したがって、何らかの理由で-fオプションを無視しているようです。

何かご意見は?

test.phpの内容:

<?php
echo "Hello World";
?>
jsherk

さて、これには多くの調査が必要でしたが、私はついにそれを理解しました...これには2つの部分があります:

パート1-php.iniファイル

php.iniファイルには、次のような行が含まれています。

disable_functions = show_source, system, exec, shell_exec, passthru, popen, proc_open

したがって、exexとshell_execの両方を使用する場合は、それらをその行から削除し、php.iniファイルを再保存する必要があるため、行は次のようになります。

disable_functions = show_source, system, passthru, popen, proc_open

パート2-php-fpmconfファイル

php.iniファイルを変更しても、shell_exec()がまだ機能しない場合は、(php-cgiではなく)php-fpmを実行している可能性があります。

これは、php-fpmconfファイルも変更する必要があることを意味します。次のような行を探します。

php_admin_value[disable_functions] = exec,passthru,shell_exec,system

次に、行からexecとshell_execを削除し、次のように再保存します。

php_admin_value[disable_functions] = passthru,system

この投稿は、confファイルを見つけて変更する方法の説明を見つけた場所です:https//www.interserver.net/tips/kb/how-to-enable-exec-in-php-fpm/

手順は一般的に次のとおりです。これを行うにはrootアクセスが必要な場合があることに注意してください。

(1)どのphpバージョンを実行していますか?v7.3の場合、「ea-php73」を使用します

(2)Confファイルは次の場所にあります。

/opt/cpanel/ea-php73/root/etc/php-fpm.d/mydomain.com.conf

(3)[disable_functions]行を変更し、confファイルを再保存します。

(4)次のコマンドでphp-fpmを再起動します。

/scripts/restartsrv_apache_php_fpm

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

php shell_exec()からノードjsを実行します

分類Dev

PHPのshell_execからsedコマンドを実行します

分類Dev

PHPのshell_execを介してカスタムファイルからシェル出力を出力する

分類Dev

exec、shell_exec、systemを使用してPHPからcomposerスクリプトを実行できないのはなぜですか?

分類Dev

-c オプションが機能しないのはなぜですか? (ping オプション)

分類Dev

PHP shell_exec()-詳細な出力?

分類Dev

shell_execプロセスPHPの終了

分類Dev

sudoers NOPASSWDオプションが機能しないのはなぜですか?

分類Dev

CMakeオプションが機能しない原因は何ですか?

分類Dev

しばらくしてPHPもしくはshell_exec戻り、空の文字列

分類Dev

PHPのshell_execから呼び出されたときにMySQLテーブルのアウトラインが表示されない

分類Dev

AngularJSテンプレートから選択されたオプションが機能しない

分類Dev

PHP、bash、sshpass、scpがshell_exec経由で機能していません

分類Dev

「ランチャーからロック解除」オプションが機能しない

分類Dev

PHP。コマンドラインとブラウザからshell_execを呼び出すときの異なるエンコーディング

分類Dev

`time`コマンドがどのオプションでも機能しないのはなぜですか?

分類Dev

オフラインWebアプリケーションが機能しないのはなぜですか?

分類Dev

JqueryからHTMLで選択するオプションの追加が機能しない

分類Dev

Shell_execがPOST変数で機能しない

分類Dev

PHPで条件が適用されると検索オプションが機能しない

分類Dev

jhatの-baselineオプションが機能しないのはなぜですか?

分類Dev

このオプションのパラメータLINQWHEREが機能しないのはなぜですか?

分類Dev

Karma構成ファイルの除外オプションが機能しないのはなぜですか?

分類Dev

titleTextStyleがGoogleChartsのタイトルオプションで機能しないのはなぜですか?

分類Dev

--autostashオプションが機能しないのはなぜですか?(git pull --rebaseで使用)

分類Dev

PHP exec()、shell_exec()、system()、passthru()はWindows 7 / IISでは機能しません

分類Dev

WISE-COMサーバー登録オプション「登録しない」が機能しませんか?

分類Dev

コンパイラオプションが順序付けられていないセットC ++ 11機能で機能しない

分類Dev

Swift 3のオプションのチェーン:1つの例が機能し、他の例が機能しないのはなぜですか?

Related 関連記事

  1. 1

    php shell_exec()からノードjsを実行します

  2. 2

    PHPのshell_execからsedコマンドを実行します

  3. 3

    PHPのshell_execを介してカスタムファイルからシェル出力を出力する

  4. 4

    exec、shell_exec、systemを使用してPHPからcomposerスクリプトを実行できないのはなぜですか?

  5. 5

    -c オプションが機能しないのはなぜですか? (ping オプション)

  6. 6

    PHP shell_exec()-詳細な出力?

  7. 7

    shell_execプロセスPHPの終了

  8. 8

    sudoers NOPASSWDオプションが機能しないのはなぜですか?

  9. 9

    CMakeオプションが機能しない原因は何ですか?

  10. 10

    しばらくしてPHPもしくはshell_exec戻り、空の文字列

  11. 11

    PHPのshell_execから呼び出されたときにMySQLテーブルのアウトラインが表示されない

  12. 12

    AngularJSテンプレートから選択されたオプションが機能しない

  13. 13

    PHP、bash、sshpass、scpがshell_exec経由で機能していません

  14. 14

    「ランチャーからロック解除」オプションが機能しない

  15. 15

    PHP。コマンドラインとブラウザからshell_execを呼び出すときの異なるエンコーディング

  16. 16

    `time`コマンドがどのオプションでも機能しないのはなぜですか?

  17. 17

    オフラインWebアプリケーションが機能しないのはなぜですか?

  18. 18

    JqueryからHTMLで選択するオプションの追加が機能しない

  19. 19

    Shell_execがPOST変数で機能しない

  20. 20

    PHPで条件が適用されると検索オプションが機能しない

  21. 21

    jhatの-baselineオプションが機能しないのはなぜですか?

  22. 22

    このオプションのパラメータLINQWHEREが機能しないのはなぜですか?

  23. 23

    Karma構成ファイルの除外オプションが機能しないのはなぜですか?

  24. 24

    titleTextStyleがGoogleChartsのタイトルオプションで機能しないのはなぜですか?

  25. 25

    --autostashオプションが機能しないのはなぜですか?(git pull --rebaseで使用)

  26. 26

    PHP exec()、shell_exec()、system()、passthru()はWindows 7 / IISでは機能しません

  27. 27

    WISE-COMサーバー登録オプション「登録しない」が機能しませんか?

  28. 28

    コンパイラオプションが順序付けられていないセットC ++ 11機能で機能しない

  29. 29

    Swift 3のオプションのチェーン:1つの例が機能し、他の例が機能しないのはなぜですか?

ホットタグ

アーカイブ