サーバーのshell_execオプションに問題があります。CPanelとPHPがインストールされたCentOS5.7を実行しています。
このコーディングでは、shell_execを使用してパラメーターをphpファイルに渡します。サンプルコードは以下のようになります。これをphpfileから呼び出しています(バックグラウンドプロセス)
vi test.php
<?php
shell_exec("php -f /home/nikesh/public_html/createtestfile.php 666 >/dev/null &");
?>
ここで、666はphpファイルに渡されるパラメーターです。
これは、テストサーバーでは正常に機能しており、ライブサーバーでは機能していません。
また、Linuxターミナルを使用してこれを実行すると、正常に動作し、出力が生成されます。
すなわち:php-ftest.php-は正常に動作しています。
しかし、この同じファイルをブラウザで実行しようとすると、機能しません。
http://example.com/test.php
ログファイルにエラーメッセージはなく、設定した権限は正しいです。
以前に同じ問題が発生した場合はお知らせください。この問題を解決するのを手伝ってください。
ありがとう、
ニケシュ
フォルダに完全な権限を与えましたが、機能しません。サーバーでセーフモードが無効になっています。
基本的なShell_exec関数がサーバーで機能しています。しかし、phpファイルにパラメーターを指定すると、ブラウザーを介して機能しなくなります。しかし、Linuxターミナルからは、その動作と出力の生成が行われます。
フォルダのアクセス許可とは関係なく、フォルダには書き込みアクセス許可があります。しかし、ブラウザを介して機能しない方法がいくつかあります。これを有効にする必要がある場合はお知らせください。またはサーバー/PHP設定を変更する必要がありますか?