• ベストアンサー

PHP

PHPでsystemを使ってバックグランドで処理を使用としたら、 "No input file specified" というエラーになりました。 原因がよくわかりません。どのようなエラーだかわかるでしょうか? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 6ma6
  • ベストアンサー率53% (7/13)
回答No.1

単純なパスのミスだと思います。 もう一度、パスを確認してみてはいかがでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHPのバックグラウンド処理でタイムエラー?

    PHPで定期的にサイトの更新を把握するため、fopenで呼び出すプログラムを作っています。 SYSTEM関数でバックグラウンド処理を行っているのですが1時間くらいするといつのまにか処理がストップしてファイルへの出力がとまってしまいます、タイムエラーにしては毎回停止する時間が違うので他の原因のような気がするのですが・・・ なにが原因かわかる方いませんでしょうか?回答よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでバックグランド処理

    PHPでバックグラウンド処理をSYSTEM関数で行っていたのですがサーバーの変更をしてからSYSTEM関数が動作しなくなってしまいました(´;ω;`) なのでSYSTEM関数以外でバックグラウンド処理はできないでしょうか?よろしくお願いします(m。_。)m ↓旧サーバーで使用していた奴です system("/usr//bin/php /home/member/ユーザーID/public_html/melmaga.php");

    • 締切済み
    • PHP
  • IISにPHPを搭載してデフォルトページを表示

    IIS2003ServerにPHPを搭載していますが、 デフォルトページが表示されなくなりました。 つまり​ttp://domain.com/ でデフォルトページを表示するはずですが、 No input file specified. というPHPがありませんというメッセージが表示されます。 IISの「既定の Web サイト」で設定しても無視されているみたいです。 PHP側で何か設定しないといけないのでしょうか?

    • ベストアンサー
    • PHP
  • DB.phpが見つからない

    以前、ローカル(Windows2000)上でApache + PHP4 + MySQL1.4でデータベースを使用したPHPのプログラムを作っており、正常に動作もしておりました。 ある時、システムが不安定になってきたのでシステムのリカバリーを行い、あらかじめMySQLのデータとPHPのソースを逃がしておきました。 リカバリー後はせっかくなのでApache2 + PHP5 + MySQL1.4で設定を行い、逃がしておいたデータ等をすべて戻し、PHPを起動してみると、 Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in ファイルパス on line 行数 と、いったエラーが表示されます。 データベースを使用しないPHPのプログラムはすべて動作するのですが、データベースを使用するプログラムはすべて同様のエラーが発生します。 いろいろ、インストールの方法などを確認したのですが、結局何が原因か突き止めることができませんでした。 何かご存知の方、教えてください。

    • ベストアンサー
    • PHP
  • PHP System関数が動作しません

    サーバー上の、あるphpファイル(sample_c.php)をシステム関数を使用して実行する必要があり、以下の流れのプログラムを作成しました。 sample_a.php でSubmit sample_b.php でSystem関数でsample_c.phpを呼び出し sample_c.php で実行 です。 <? /* sample_a.php */ ?> <form action="sample_b.php" method="post"> <input type="hidden" name="login" value="sample_user"> <input type="hidden" name="action" value="trigger_b"> <input type="submit" value="submit"> </form> <? /* sample_a.php */ ?> <? if($_POST['action'] =="trigger_b") { $login = $_POST['login']; system("sample_c.php $login"); header('Location: sample_a.php?action=fin'); exit; } else { header('Location: sample_a.php?action=error'); exit; } ?> <? /* sample_c.php */ ?> $_SERVER['argv'] で受け取った値を処理 ----------------- 3つのファイルは全て同じ階層に配置してあります。 sample_a.phpでsubmitすると、sample_a.php?action=fin にリダイレクトするのですが、 sample_c.php内の動作が実行されていません。 中身はDB接続して、テーブルに保存する単純なsql文が入っていて、sample_c.php単体での動作は確認しています。 (単体テストの場合は$_SERVER['argv']の代わりに変数に値をセットして実行しています。) System関数で変数を受け渡さずに system("sample_c.php $login"); を system("sample_c.php") として実行してもうまくいきません。; 原因が分かるかたがいらっしゃれば教えてください。 お願いします。

    • ベストアンサー
    • PHP
  • PHP MySQL

    こんにちは、 以下のPHPソースを実行しましたが、結果は何も返ってきません。何か欠けてますか? このようなエラーは何が原因でしょうか?初心者ですので宜しくお願いします。 <?php $count_file=2592000 + time(); print ($count_file); ?> FireBug で調べてみると”This element has no style rules.”コメントがありました。意味が分かりません。困ってます。

    • 締切済み
    • PHP
  • PHPで外部プログラムのバックグラウンド処理(Windows)

    よろしくお願いします。 PHPのバージョン4でWindowsです。 現在***.exeをsystem()で実行しています。 この***.exeの処理が長い時で、10分位かかってしまうので、バックグラウウンドで処理をしたいと考えています。 コマンドプロンプトで >start ***.exe ~ を実行したところ、うまいことバックグラウンドで処理できました。 しかし、system()で上記のコードを実行したら一瞬黒い画面が出るだけで***.exeが実行されませんでした。 なにがだめなのか全然見当もつきません… 実現できればどんな方法でもかまわないので、 次の方法も試しました。 1. a.phpでsystem(">b.php") b.phpを呼び出し b.phpでsystem(">***.exe")を実行 結果:***.exeは実行されるのですがバックグラウンドで処理されない。 2. コマンドプロンプトでIEを開いてa.phpにアクセス a.phpでjavascript window.openでb.phpをオープン b.phpでsystem(">***.exe")を実行 b.phpをwindow.closeで閉じる 処理は出来たのですが、a.phpが残ってしまう…(消せない、消し方がわからない) a.phpが消せればこの方法でもいいのですが… とにかく実現できればいいのですが… わかる方がいたら教えてくださいお願いします。

    • 締切済み
    • PHP
  • PHP バックグラウンド処理

    apache1.3系+PHPで大量のメール送信プログラムを作成していますが、ある動きで困っております。 特定のフォームにて件名と本文を入力し、submitすることでsystem関数を利用して別のプログラムをバックグラウンドで動かそうとしてますが、メール送信前にコメントを表示したいのです。 しかし、表示をする前に後に記述しているsystem関数が読み込まれるようで、system関数の処理が終わると、そのコメントが表示されるようになってしまってます。 例) // ここでコメントを表示 print<<<HTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>WEBMAIL</title> </head> 送信を受付ました </body> </html> HTML; // メール送信プログラムをバックグラウンドで system("/usr/local/bin/php webmail2.php $subject $address $data & "); 実際に100件程のアドレスに向けて送信しましたが、送信処理は正常に動作しているようですがバックグラウンドで動いている気配がありません。 また、system関数の処理の前にコメントを表示したいのですが、実際に表示されるのは配送処理が終わってからとなっています。 system("/usr/local/bin/php webmail2.php $subject $address $data >/dev/null & "); ↑ これですと変数が受け渡しされませんでした。 先にコメントを表示するにはどうしたらいいのでしょうか?

    • ベストアンサー
    • PHP
  • PHPについて質問です。

    PHP超初心者です。 初めて変数の変更プログラムを作ってみたのですが、 Warningエラーが出て、一部の機能が有効になりません。 henkou.php ↓↓↓↓ <?php $oldpass = $_POST["oldpass"]; $newpass = $_POST["newpass"]; $newpass2 = $_POST["newpass2"]; ?> <html> <head> <title>変数変更テスト</title> <meta name="robots" content="noindex,nofollow"> </head> <body> <form method="post" action="/henkou.php"> 古いパスワード:<input type="password" name="oldpass"><br> 新しいパスワード:<input type="password" name="newpass"><br> 新しいパスワード:<input type="password" name="newpass2"><br> <input type="submit" value="送信"> </form> <?php require "/conf/config.php"; if ("$oldpass != $password") { echo "パスワードが一致しません"; } else { echo "パスワード変更が完了しました。"; $password_file = file("/conf/config.php"); $password_file = str_reprace ("\"$password\" = \"$newpass\""); SaveFile("/conf/config.php"); } ?> </body> </html> config.php ↓↓↓ <?php $password = ""; // 設定前なので空白です ?> エラーは、 Fatal error: require() [function.require]: Failed opening required '/conf/config.php' (include_path='.:/usr/local/lib/php') in /home/***.net/henkou.php on line 21 と、 Warning: require(/conf/config.php) [function.require]: failed to open stream: No such file or directory in /home/***.net/henkou.php on line 21 ここからが本題ですが、 上のプログラムが正しいかどうか、確認していただきたいのです。 また、間違えている部分があったら、ご指導いただければと思います。 どなたか、手助けをお願いします!

    • ベストアンサー
    • PHP
  • PHP GETで飛ばす変数の中身

    PHP GETで飛ばす変数の中身 a.php→b.phpへ進むボタンを押したとき、 a.phpのフォーム入力でエラーがあった場合はa.phpへ戻るページを作っています。 各フォームの入力チェックは正規表現で判定し、 誤った入力がされた場合は$input2="2"; 正しい入力の場合(else)は$input2=""; のような形で変数に値を代入しています。 ※$input2には「何も入らない」か「2」が入るようにしているつもりです。 入力エラー時にa.phpへ戻る記述は ------------------------------------------------------------------------------ if($input1=="1"||$input2="2"||$input3="3"){   header("Location:a.php?SID&input1=$input1&input2=$input2&input3=$input3"); } ------------------------------------------------------------------------------ のような形にしています。(長ったらしい部分は省いています。) ところが、エラーがないときにa.phpに戻ってb.phpに進まなくなってしまいました。 アドレスバーをみると【input2=1】となっており、なぜか$input2に「1」が入ってしまっているようです。 $input2には「何も入らない」か「2」が入るように記述しているつもりなのですが、 「1」が入ってしまう理由がよく分かりません。 エラーがない場合はb.phpへ進みたいので、「何も入らない」状態にしたいです。 なぜ「1」が入ってしまうのかお分かりの方がいらっしゃれば教えて頂けると嬉しいです。 ※PHPは勉強し始めたばかりなので、不足している点などあればご指摘下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • SoftBank光電話を契約して、J820DNに無線で繋げてもらいました。複合機を買い替えたので、自分で電話回線を切り替えようとしたのですが、無線の為切り替え方が分かりません。
  • パソコンもしくはスマートフォンのOSはWindows10です。接続方法は無線LAN(Softbank)です。
  • 電話回線の種類はひかり回線です。
回答を見る

専門家に質問してみよう