質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

3786閲覧

呆れるぐらいの初心者です。誰かご教授ください。

inaming

総合スコア11

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2017/04/18 12:56

###php phantomJSライブラリを読み取れません
require関数を使ってphp phantomjsをロードしたいのですが
下記のようなエラーがでてしまい先に進めなくて困っています。
参考にしたサイト
:http://bwatch.wp.xdomain.jp/post140/

Fatal error: Uncaught exception 'JonnyW\PhantomJs\Exception\InvalidExecutableException' with message 'File does not exist or is not executable: bin/phantomjs' in C:\xampp\htdocs\vendor\jonnyw\php-phantomjs\src\JonnyW\PhantomJs\Engine.php:216 Stack trace: #0 C:\xampp\htdocs\vendor\jonnyw\php-phantomjs\src\JonnyW\PhantomJs\Engine.php(94): JonnyW\PhantomJs\Engine->validateExecutable('bin/phantomjs') #1 C:\xampp\htdocs\scrp\index.php(18): JonnyW\PhantomJs\Engine->setPath('bin/phantomjs') #2 {main} thrown in C:\xampp\htdocs\vendor\jonnyw\php-phantomjs\src\JonnyW\PhantomJs\Engine.php on line 216

index.php

<?php //関連ファイルのインクルード require_once("../vendor/autoload.php"); //PHP-PhantomJsのClientクラスの呼び出し use JonnyW\PhantomJs\Client; $client = Client::getInstance(); $request = $client->getMessageFactory()->createRequest(); $response = $client->getMessageFactory()->createResponse(); $url = 'http://localhost/scrp/test.html'; $request->setUrl($url); $client->getEngine()->setPath('bin/phantomjs'); // phantomjs path $client->send($request, $response); echo $response->getContent(); exit(); ?>

test.html

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <div id="content"></div> </body> <script type="text/javascript"> (function () { document.addEventListener("DOMContentLoaded", function() { document.querySelector("#content").innerHTML = 'hello phantomjs'; }); })(); </script> </html>

ディレクトリ構造

htdocs -scrp -index.php -test.html -bin -phantomjs.exe -vendor -composer -jakoch -jonnyw -symfony -twig -autoload.php

###今までの流れ
・php phantomjsでスクレイピングができることをしる
・composerをインストール
http://jonnnnyw.github.io/php-phantomjs/4.0/2-installation/を参考にcomposer.jsonをxampp/php/に作成
・マンドプロンプトでカレントフォルダを C:/xampp/phpにしてcomposer installを実行
・xampp/php配下にvendorとbinフォルダ作成される
http://bwatch.wp.xdomain.jp/post140/を参考にindex.phpとtest.htmlを作る
・localhost/scrp/index.phpを実行後エラーを確認
.ドキュメントルートにライブラリを置かないとダメなのかと思いvendorとbinをhtdocsに移動
・実行後エラー←今ここ

ほんとに何も知らないので身の程しらずかもしれませんが、教えて貰えたらとても助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

phantomjs のパスが見つからないとのエラーなので、下記のようにパスを修正してみてはどうでしょうか。

php

1$client->getEngine()->setPath('../bin/phantomjs.exe'); 2// もしくは 3$client->getEngine()->setPath('C:/xampp/htdocs/bin/phantomjs.exe');

投稿2017/04/18 14:50

tell_k

総合スコア2120

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

inaming

2017/04/18 15:23

大変ありがとうございます。 解決致しました。 あんなに悩んだのに、パスの間違いだったなんて… でも、回答して頂けなかったら挫折していたと思います。 本当にありがとうございます。 もしご存知でしたらあと1点教えて頂きたいのですが、php phantomJSはブラウザ上で実行できるのでしょうか? エラーはなくなったんのですが今度はなにも表示されないので、もしかしてと思い。
tell_k

2017/04/18 15:35

参考記事にもあるように「php index.php」とコマンドラインで実行してみて、HTMLは表示されますかね?それで表示されるならブラウザでindex.phpを実行しても、同じHTMLが表示されそうな気はします。
inaming

2017/04/18 15:41

早速のご返信ありがとうございます。 やってみたのですが、なにも表示されないようです。
inaming

2017/04/18 15:44

コマンドラインの実行結果になります c:\xampp\htdocs\scrp>php index.php c:\xampp\htdocs\scrp>php test.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <div id="content"></div> </body> <script type="text/javascript"> (function () { document.addEventListener("DOMContentLoaded", function() { document.querySelector("#content").innerHTML = 'hello phantomjs'; }); })(); </script> </html> c:\xampp\htdocs\scrp>
inaming

2017/04/18 15:46

localhost/xampp/scrp/test.htmlをブラウザで実行すると「hello phantomjs」が出力されます
inaming

2017/04/18 15:59

申し訳ありませんurl間違えました。 localhost/scrp/test.htmlでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問