• 締切済み

コマンドラインからPHPを実行するには。(Windows)

PHPスクリプトをコマンドライン上で実行しようと思い、 >php bookread.php と入力したところ、 >'cdc:\' は、内部コマンドまたは外部コマンド、 >操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と表示されてしまいます。 おそらく環境変数の問題か、もしくは実行しようとしたディレクトリがいけないのかと思いますが、どうしたらよいのかわかりません。 Windowsで、OSはwinXP、また、phpはxamppで取得しました。 実行しようとしたファイルbookread.phpは c:\xampp\htdocs\_test というフォルダの中にあります。 どのディレクトリに移ってから行えばよいのか、もしくは環境変数にどう書き加えればよいのか、教えてください。 私が実行を試したディレクトリは、 c:\xampp\htdocs\_test> と c:\> です。 (ブラウザ上で他のPHPスクリプトを実行することは可能です。)

  • PHP
  • 回答数1
  • ありがとう数3

みんなの回答

  • pigco
  • ベストアンサー率0% (0/0)
回答No.1

c:\xampp\phpの中に、php.exeがあると思いますので、 c:\xampp\phpに移動して、 php c:\xampp\htdocs\_test\bookread.php と入力して実行するか、 環境変数のPathに、c:\xampp\phpを追加すれば、どのディレクトリからでも実行できると思います。

take-0314
質問者

お礼

出来ました。ありがとうございました。

関連するQ&A

  • xamppでPHPを実行

    PHP初心者です。 Xampp(バージョンは1.6.8)をインストールして、 PHPファイルを実行しようとすると、 「Fatal error: Undefined class name 'loggermanager'」 というエラーが出てしまいます。 libフォルダに「LoggerManager.php」は入っているのですが… 実行しようとしているファイルは C:\xampp\htdocs\ディレクトリ1\ディレクトリ2\ディレクトリ3\ディレクトリ4\ディレクトリ5 の配下にあり、「LoggerManager.php」は C:\xampp\htdocs\test\support_tool_pon\lib\log4php の配下にあります。 原因に心当たりがある方、教えてください。

    • ベストアンサー
    • PHP
  • PHP(Windows)でコマンド実行

    Windows上のapacheとPHPで、ベーシック認証のIDとパスワードを登録する仕組みを作成しているのですが、execが思ったように動きません。 以下にその部分だけを実行できるものを書きます。 <?php $com="C:\\Program Files\\xampp\\apache\\bin\\htpasswd.exe C:\\Program Files\\xampp\\apache\\.htpasswd id pass"; //$com="\"C:\\Program Files\\xampp\\apache\\bin\\htpasswd.exe\" \"C:\\Program Files\\xampp\\apache\\.htpasswd\" id pass"; //$com="dir"; exec($com,$output); print_r($output); ?> 原因はなんとなく、プログラムとパスワードファイルのパスの中にあるスペース(Program Files)だと思い、二重引用符で囲ってみたりした(一つ目のコメントのように)のですが、結果は同じでした。 二つ目のコメントのようなdirコマンドはちゃんと動きます。 どのようにすれば、パスを指定した実行ファイルが動作するのでしょうか?

    • 締切済み
    • PHP
  • PATHは;C:\xampp\phpでOK^^

    http://okwave.jp/qa/q8480862.html の続きですが   PATHは以下で解決しました^^・・と思いますが!?  システムプロパティ⇒詳細設定⇒環境変数⇒システム環境変数⇒Pathの最後に;C:\xampp\php  と入力した。 それで!  コマンドプロンプトを実行した結果が以下です。  c:\>php -v PHP 5.4.19 (cli) (built: Aug 21 2013 01:12:03) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies c:\>cd C:\xampp\htdocs\study.localhost C:\xampp\htdocs\study.localhost>php stringcast.php 100 ・ソnum is 100 C:\xampp\htdocs\study.localhost> 以上、OKでしょうか!?  宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • コマンド名でのワイルドカード指定

    "test 1"ディレクトリ内にある全てのファイルを test2 ディレクトリに移したい場合、 どのようなコマンドを実行すれば良いのでしょうか? MOVE "test 1"\* test2 でも MOVE test 1\* test2 でもエラーになってしまいます。 ちなみに、実際にはバッチスクリプトになっていて、test 1の部分は変数になっています。 MOVE %SRC%\* %DST% %SRC%にスペースを含むディレクトリ名を指定するとエラーになってしまいます。。

  • IIS + PHP からのWindowsコマンド実行について

    IIS + PHP からのWindowsコマンド実行について IIS+PHPの環境を用いて、ディスククォータの使用率を表示したいと考えています。 そこで、テストとして下記のスクリプトを実行しましたが、dir の実行結果は表示されましたが、dirquotaの実行結果が表示されませんでした。 また、コマンドプロンプトからphp.exe test.phpを実行しましたが同様です。 もちろん、コマンドプロンプトからdirquotaを実行すれば正しく稼働し表示されます。 Listの代わりにaddを使ってもコマンドが実行された気配がないので「表示されない」より「実行されない」のかと考えていますが、dirコマンドとdirquotaコマンドに違いがあるのでしょうか。 == test.php ============= <pre> <?php passthru("dir"); passthru("dirquota quota list d:\\"); ?> </pre> ========================= 【 環境 】 OS : Windows 2008 Server PHP: 5.3(セーフモードOFF)

    • 締切済み
    • PHP
  • VB2010からコマンドの実行方法

    環境  VisualBasic2010Express  WindowsXPSP3 前提  あるプログラムをインストールしていると使えるコマンドがあります。  コマンドプロンプト上から、バッチファイルを実行すると正常動作します。  仮に j.bat とします。  内容は   dxf -o -s c:\test\test0.dxf   dxf -o -s c:\test\test1.dxf   dxf -o -s c:\test\test2.dxf  こんな感じです。  dxfの本体は、とあるフォルダにあるdxf.exeと思われます。  (同名ファイルが複数あるので、特定できていません)  パスが通っているのか、カレントディレクトリ(?)に関係なく実行可能です。  このバッチファイルを実行すると処理は正常です。 現状  VBでボタンを押したらバッチファイルと同じ処理をするプログラムを作りたいのですが  実行する内容が毎回変化します。(dxfコマンドの引数が変わる)   よって同じバッチファイルは使えません。  Dim Buffer(2) As String  Dim Ret(2) As Integer   for i =0 to 2    Buffer(i) = "dxf -o -s c:\test\test" & i & ".dxf"    Ret(i) = Shell(Buffer(i), vbNormalFocus)   next i  こんなプログラムですが、処理がされてません。  コマンドプロンプトは一瞬3個開きます。  dxfをフルパスで記述しても同じです。 質問(1)    コマンドプロンプト上にメッセージが出ているようなのですが    一瞬で消えるので読めません。    コマンドプロンプトを閉じない方法はありませんか?    なければ出力を残す方法はありますか? 質問(2)    バッチファイルを毎回生成して、    そのバッチファイルをShellコマンドで実行すれば動くのかも知れませんが    他に良い方法はありませんか? よろしくお願いします。 私は、VB2010は初めて。 VB6で2個プログラムを作った程度です。 コマンドプロンプト関連(?)は初めてです。

  • PHPプログラムの実行

    だいぶ古いバージョンですが、CDロムからXAMPP(xampp-win32-1.6.4-installer.exe)をインストールし、簡単なPHPスクリプトを書いて実行しましたが、HTML で表記したヘッダー部分以外は、ブラウザ画面に何も現れません。 スクリプトは次のようなもので、XAMPPのhtdocsフォルダー にsample.html としてセーブしてあります。 <html> <head> <title> sample of PHP program </title> </head> <body> <h1> sample </h1> <?php echo "Welcome"; ?> </body> Apache サーバーはちゃんと走ってます。なぜ何も表示されないのでしょうか? 何かコンフィグレーションファイルのようなものを編集する必要があるのでしょうか?詳しい方、どうぞ教えてください。お願いします。

    • ベストアンサー
    • PHP
  • Win環境でPHP実行時にコマンドプロンプトを消す

    以下の環境で、Windowsのタスク機能で1分間隔でバッチファイルを呼び出そうとしています。 Windows 2003 ServerR2 .NetFrameWork3.5 PHP5.2.5(cli) バッチファイル内では、 php XXXX.php という形でPHPを実行しています。 その際、バッチが起動される都度コマンドプロンプトが立ち上がってしまうのですが それをさせずに実行させる方法は無いでしょうか? ご存知の方がいらっしゃればご教授お願いいたします。

    • ベストアンサー
    • PHP
  • php -> javascript 変数渡し

    tempフォルダにtest.txtファイルが存在すれば、 fileフォルダaaa.txtファイル名をbbb.txtファイルに変更という流れです。 変更ボタンをクリックすると、値を$testdataに渡し、ファイル有無をチェックし、ある場合は変数をjavascriptに渡すしますphpの所は問題ありませんが、 javascript処理の所がどうしてもうまくいきません。変数渡しができません。 ネット上でいろいろ調べてみましたがすべてダメでした。 ぜひ、よろしくお願いいたします。 下記はそのコードです。 ファイル名test.php <? $testdata = $_GET["testdata"]; $filename = "C:\\xampp\\htdocs\\test\\file\\temp\\".$testdata; if(file_exists($filename)){//ある場合、変数をjavascriptに渡す $testdata_script = $testdata; }//ここまでは問題ありません。 ?> <!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>テスト</title> <script type="text/javascript"> <!-- function test(file) {       obj = new ActiveXObject('Scripting.FileSystemObject'); var name = '<?php echo $testdata_script ;?>'; alert(name); strMoveFrom = 'C:\\xampp\\htdocs\\test\\file\\aaa.txt'; strMoveTo = 'C:\\xampp\\htdocs\\test\\file\\bbb.txt'; obj.MoveFile(strMoveFrom ,strMoveTo ); obj= null } //--> </script> ...省略 <form action=test.php method=get accept-charset=UTF-8> <input type=submit value=変更 onclick=test('file')> <input type=hidden name=testdata value="test.txt">

  • batでphpを実行した時のgetパラメータ

    お世話になっております。 windows7にてbatファイルを作成しているのですが、 getのパラメータを渡したいのですが、どうしたら良いでしょうか? 下記は一応作成したbatファイルです。 ******************************************** rem 1から50まで数値を増減しながらループ for /L %%e in (1, 1, 50) do ( C:\xampp\php\php-cgi.exe C:\xampp\htdocs\test\test.php?number=%%e timeout 10 ) ********************************************

    • 締切済み
    • PHP

専門家に質問してみよう