php execシステムshell_execを実行しても結果がありませんか? 1記事で完結!

藏色散人
リリース: 2023-04-11 08:48:02
転載
7042 人が閲覧しました

この記事はphp execシステムshell_execが実行できない問題を紹介します主な内容はphp exec()system()shell_exec()を実行しても結果がNULLDになる方法を説明することです。困っている友達に役立ちます~

php execシステムshell_execを実行しても結果がありませんか? 1記事で完結!

php exec() system() shell_exec() を実行できません。結果はありません。結果は NULLD です。解決策

サーバー上のコードindex.php:

<?php    
$cmd = &#39;php -v&#39;;    
exec($cmd, $arr);    
echo &#39;<pre class="brush:php;toolbar:false">'    
var_dump($arr);
ログイン後にコピー

ブラウザにアクセスすると、出力結果は次のようになります: NULL

これは、サーバーがPHP を有効にしていないため、exec(); [推奨される学習: PHP ビデオ チュートリアル ]

解決策:

1. 現在実行中のユーザーを表示する関数を追加します。 :

<?php    
var_dump(get_current_user());    
$cmd = &#39;php -v&#39;;    
exec($cmd, $arr);    
echo &#39;<pre class="brush:php;toolbar:false">'    
var_dump($arr);
ログイン後にコピー

表示: root

2. サーバーに移動してファイル権限を変更します:

$ chmod 777 index.php
ログイン後にコピー

ユーザーを表示Index.php の権限:

$ ll
ログイン後にコピー

結果:

-rwxrwxrwx 1 root root    1595 Sep 20 10:18 index.php
ログイン後にコピー

3. php.ini をチェックして、これらの機能が無効になっているかどうかを確認します。

##
$ cd /usr/local/php/etc
$ vim php.ini
ログイン後にコピー

##disable_functions =

exec、system、および exec_shell を削除し、どちらかを使用します。 use;
4. PHP サービスを再起動します。このステップは非常に重要です:

$ /etc/init.d/php-fpm restart
ログイン後にコピー
次にテストすると、ブラウザがサーバーにアクセスし、結果は次のようになります:

原因のほとんどは、php.ini が exec 機能とファイルの実行権限を無効にしているためです。

以上がphp execシステムshell_execを実行しても結果がありませんか? 1記事で完結!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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