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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PHP

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

Q&A

解決済

2回答

4930閲覧

CentOSで任意のディレクトリのPHPファイルを動かしたい

terashamo

総合スコア20

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PHP

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

0グッド

0クリップ

投稿2016/04/09 00:53

###前提・実現したいこと
VirtualBoxに
CentOS PHP5.6.20 Apache2.4.6 mysql5.6.29
をインストール済みです。

apacheを起動させて
http://192.168.56.10/shop-neoにアクセスすると
/var/www/shop-neoのindex.phpが表示されるようにしたいです。

###発生している問題・エラーメッセージ

192.168.56.10 ページは機能していません 192.168.56.10 では現在このリクエストを処理できません。 500

と、エラーが出てしまっています。

###試したこと
・192.168.56.10にアクセスしてapacheのページ(?)が表示されるのを確認。
・/var/www/html/にinfo.phpを作成し、192.168.56.10/info.phpにアクセス。表示されるのを確認。
・/etc/httpd/conf/httpd.confに下記を記述。

Alias /shop-neo /var/www/shop-neo <Directory /var/www/shop-neo> Options ExecCGI Includes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <IfModule dir_module> DirectoryIndex index.html index.php index.cgi (←index.htmlのみだったのでphpとcgi追加) </IfModule>

再起動後、再度http://192.168.56.10/shop-neoにアクセス。エラー。

Aliasについては正直あまりわからぬままサイトを参考に操作しました。
そもそもやろうとしてることが間違っているのかもしれませんが・・・
何か原因がわかる方がいらっしゃいましたらよろしくお願いいたします。

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

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

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

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

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

CHERRY

2016/04/09 04:59

ブラウザに表示されるメッセージではなくて、Web サーバーのエラーログ (標準だと /var/log/httpd/error_log にあると思います。) のメッセージを書いていただけますか?
terashamo

2016/04/09 05:04

申し訳ありませんでした、下記のコメント欄にも書かせていただきましたが PHP Fatal error: Class 'PDO' not found in /var/www/shop-neo/common.php on line 8 と書かれており、PHPのエラーのようでした。
guest

回答2

0

ベストアンサー

ファイルが見えていないわけではなくて、
phpの処理のどこかでエラーになっていませんか?

アクセス時のhttpdとphpdのアクセスログ、エラーログを
確認してみてはいかがでしょうか?

PHP

1// PHP側でエラー出力設定上書きするなら下記を宣言 2error_reporting(-1); 3ini_set('display_errors', 'On');

投稿2016/04/09 03:09

編集2016/04/09 03:55
yodel

総合スコア508

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

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

terashamo

2016/04/09 03:38 編集

回答ありがとうございます。 申し訳ありません、エラーが出ていました・・・ どうやらPDOクラスがない(?)ようなメッセージが出ておりました。 こちらで質問してしまって良いのかわかりませんが・・・ yum install php-mysql で、インストールすれば使えるようになるみたいなので実行してみると エラー: パッケージ: php-pdo-5.4.16-36.el7_1.x86_64 (base) 要求: php-common(x86-64) = 5.4.16-36.el7_1 インストール: php-common-5.6.20-1.el7.remi.x86_64 (@remi-php56) php-common(x86-64) = 5.6.20-1.el7.remi 利用可能: php-common-5.4.16-36.el7_1.x86_64 (base) php-common(x86-64) = 5.4.16-36.el7_1 というエラーが出て失敗してしまいました。 バージョンが違うということなのでしょうか?
yodel

2016/04/09 03:44

PDOクラスが無いエラーとは、どのようなメッセージでしょうか? PHP側の実装の問題では対応出来ないでしょうか? YUMのエラーは、既にPHPとMYSQLがインストール済みで競合してしまっている とかそんな感じだと思います。エラーメッセージは一番最後に表示されている部分。
terashamo

2016/04/09 03:56

エラーは下記のように出力されていました PHP Fatal error: Class 'PDO' not found in /var/www/shop-neo/common.php on line 8 MAMPでは動いていたのですが・・・
yodel

2016/04/09 04:13 編集

phpinfoの画面にPDOの項目があるので MYSQLのPDOが設定されているかどうか確認する。 (もしくはコマンドで) PHPのPDOをインストールするなら 以下のコマンドが良いかもしれません。 yum install php-pdo (参考) http://php.net/manual/ja/pdo.installation.php [依存関係でphp-mysqlがインストール出来ない](http://ja.stackoverflow.com/questions/11066/php-mysql%E3%81%8C%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84) http://tmysz.hateblo.jp/entry/2014/09/26/131318 難しいようであれば、PHPPDOの環境構築の問題になると思うので、 こちらはCloseして別で質問を上げた方が良いです。 的確なアドバイスできなくてすみません。
terashamo

2016/04/09 04:28

そうですね質問の内容が変わってきてしまいますので別の質問で上げようかと思います。 色々と参考になりました、丁寧に回答くださりありがとうございました!
guest

0

シンボリックリンクを/var/www/html配下に作ればいいのでは?

cd /var/www/html ln -s /var/www/shop-neo shop-neo

投稿2016/04/09 01:12

shi_ue

総合スコア4437

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

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

terashamo

2016/04/09 02:13

回答ありがとうございます。 上記の通りに作成してみたのですが、やはり同じエラーが出てしまいました・・・
shi_ue

2016/04/09 03:51 編集

Aliasを取っても同じですか?あと、cgiとして動かさないのであれば、ExecCGIは取った方がいいですよ。 んで、500エラーということなので、/var/log/httpd/error.logを確認してください。
terashamo

2016/04/09 03:59

申し訳ありません、phpのエラーだったようで PHP Fatal error: Class 'PDO' not found in /var/www/shop-neo/common.php on line 8 と、出てしまっていました。 ありがとうございます、cgiが何かもよくわからない状態なのでExecCGIは消しておきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問