• ベストアンサー

PHPスクリプトを実行する方法は

PHP初心者です。 スレを2つ出してしまい、すみません。 例えば、以下のようなソースコードを実行させるにはどうしたらいいのでしょうか。 以下に書きます。 <?php /* クラス定義ファイルの読み込み */ require_once('Circle.class.php'); /* Circleクラスのオブジェクトを生成 */ $c0 = new Circle(10, 20, 5, 'red'); $c1 = new Circle(20, 10, 8, 'blue'); /* 作成直後 */ print("作成直後\n"); $center = $c0->getCenter(); $center1 = $c1->getCenter(); print("\$c0 : 中心({$center0[0]}, {$center0[1]}), 半径{($c0->getRadius()), $c0->color\n"); print("\$c1 : 中心({$center1[0]}, {$center1[1]}), 半径({$c1->getCenter()}), $c1->color\n)"); /* moveメソッドで移動させる */ $c0->move(20, 5); $c1->move(-10, 10); /* 移動後の状態を表示 */ print("移動後\n"); $center0 = $c0->getCenter(); $center1 = $c1->getCenter(); print("\$c0 : 中心({$center0[0]}, {$center0[1]}), 半径({$c0->getRadius()}, $c0->color\n)"); print("\$c1 : 中心({$center1[0]}, {$center1[1]}), 半径({$c1->getRadius()}), $c1->color\n"); ?> このプログラムの結果を表示させるのにはどうしたらいいのでしょうか。

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

  • ベストアンサー
noname#94983
noname#94983
回答No.3

>それで実行させるとパスが長くなるので前者のPath環境変数に入れたいと思うのですが、その時、 >C:\php\php.exe >とPathに付け足せばいいのでしょうか。 これはディレクトリのパスだけでOKなはず。つまり、C:\php\でいいはずだ。 > Failed opening required 'Circle.class.php' (include_path='c:\php\libs') ん? include_pathの値が'c:\php\libs'になっているが、カレントディレクトリが抜けていないか? つまり、'.;c:\php\libs'となってなければいけないはずだが。php.iniのinclude_pathの値を確認してみたほうがいい。

persona
質問者

お礼

logger_manさん、再度のレスありがとうございます。 include_pathは言われたとおりに直しましたが、エラーは変わりませんでした。 私はEclipseのworkspaceでファイルを作成して、それをApache2のhtdocsフォルダに貼り付けて実行しています。 今までのphpファイルはそれで動作をしていたのですが、今回は上手く動いてくれません。 別のやり方をとった方がいいのでしょうか。 例えば、xamppでやってみるとか。 普通、Eclipseを使用しない場合、作成したphpファイルはどこに配置すればいいのでしょうか。

その他の回答 (2)

noname#94983
noname#94983
回答No.2

これは、既にCircle.class.phpというファイルにCircleというクラスが用意されているのだろうか。単純に、スクリプトの実行の仕方がわからない、ということか? とするなら、直接php.exeで実行する方法と、Webサーバーで公開しブラウザからアクセスする方法がある。 直接、php.exeで実行するなら、コマンドプロンプトからphp.exeのあるディレクトリに移動し、php c:\hoge\hoge.php というようにして実行するファイルのパスを指定すればいい。これでコマンドプロンプトに結果が出力される。(php.exeのパスがPath環境変数に登録されてるなら、直接phpファイルのディレクトリに移動してphp hoge.phpでも動く) PHPが動作するWebサーバーの準備ができているなら、その公開ディレクトリにファイルをコピーし、ブラウザからhttp://localhost/hoge.phpというようにアクセスすれば、やはりブラウザに結果が表示されるはず。 あるいは、Circle.class.phpの配置の仕方がわからない、ということだろうか。これは実行するphpファイルと同じ場所にこの名前で入れておけば認識するはずだ。あるいは、Circleクラスをどう書くのかわからないということだとすると、そもそもCircleクラスがどんなものかわからないので、補足がないと答えようがないだろう。

persona
質問者

お礼

logger_manさん、いつもアドバイス感謝しています。 幾つか質問があります。 今ファイルはphp.exeのあるフォルダとは別のフォルダにあります。 それで実行させるとパスが長くなるので前者のPath環境変数に入れたいと思うのですが、その時、 C:\php\php.exe とPathに付け足せばいいのでしょうか。 後、サーバーから実行したところ以下のようなエラーが表示されました。 Warning: require_once(Circle.class.php) [function.require-once]: failed to open stream: No such file or directory in C:\Apache2\htdocs\useCircle.php on line 3 Fatal error: require_once() [function.require]: Failed opening required 'Circle.class.php' (include_path='c:\php\libs') in C:\Apache2\htdocs\useCircle.php on line 3 これはrequire_onceがいけないのでしょうか。 どうぞ宜しくお願い致します。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

コマンドラインで実行させるなら、 >php -f ファイル名 print文の出力先は標準出力になります。 普通は、Webサーバーをつかいますけど...

persona
質問者

お礼

アドバイスありがとうございます。 コマンドラインで実行できるんですね。 大変助かりました。

関連するQ&A