PHPが実行できない

このQ&Aのポイント
  • CentOSでPHPの勉強をしているが、実行ができない
  • httpdを起動させてtest.phpを作成したが、アクセスするとNot Foundのエラーが表示される
  • どこが問題なのかわからない。助けてほしい
回答を見る
  • ベストアンサー

PHPが実行できない

CentOSでPHPの勉強をしています。 ですが、実行ができません。というより、ファイルを見つけることができません。 以下のようにやりました。 まずrootでログインし、httpdを起動させました。 [root@new-host ~]# /etc/init.d/httpd start httpd を起動中: 次にstudentというホストに切り替え、「studentのホーム」というフォルダにtest.phpを作成しました。 この後、 http://new-host/~student にアクセスすればtest.phpが選択できるかと思ったのですがそうすると Not Found The requested URL /~student was not found on this server. Apache/2.2.3 (CentOS) Server at new-host Port 80 と書いてある404 Not Foundの画面になってしまいます。 どこがいけないのでしょうか。よろしくお願いします。

  • PHP
  • 回答数5
  • ありがとう数5

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

  • ベストアンサー
  • php_work
  • ベストアンサー率50% (1/2)
回答No.4

PHPログを見ると、はやく解決するかもしれませんが、いかがでしょうか。

thjki6624
質問者

お礼

httpd.confの設定に問題があったようです。

その他の回答 (4)

  • 1minn
  • ベストアンサー率57% (52/90)
回答No.5

> http://new-host/~student > にアクセスすればtest.phpが選択できるかと思ったのですがそうすると どうしてそう思ったんでしょう? 100歩譲って http://new-host/~student/test.php ではないですか? > 、「studentのホーム」というフォルダにtest.phpを作成しました。 そのフォルダのフルパスは? test.phpを置いてある階層でpwdコマンド打てば出てきますよ。 起動スクリプトを呼べるのであれば出来ますよね。 恐らくユーザーディレクティブを使おうとされているとおもいますが、まずはドキュメントルートに設定してあるフォルダにtest.phpを配置して、 「http://サーバーパス/test.php」 を実行してみてはいかがでしょうか?

thjki6624
質問者

お礼

とりあえず ~studentにつなげばホームディレクトリに保存されているファイルが選択できるので、画面上でtest.phpを選択肢、最終的な~student/test.phpに移動しようと思いました。

回答No.3

test.phpを /var/www/htmlの下に作成し http://ホスト名/test.phpで表示してみる

thjki6624
質問者

お礼

なるほど、ありがとうございました。

回答No.2

> 次にstudentというホストに切り替え、「studentのホーム」というフォルダにtest.phpを作成しました。 studentというホスト切り替え ではなくて studentというユーザーに切り替え ではないですか? また、studentのホームというフォルダではなく student.のホーム の下に public_htmlというフォルダを作って、そこにtest.phpを作成 ではないですか?

thjki6624
質問者

お礼

間違えました。おっしゃるとおりstudentというユーザーに切り替えてでした。 public_htmlというフォルダは作っていませんでした。ですので、作成し、そこにtest.phpを作ったのですがエラーは直りません。

thjki6624
質問者

補足

そういえば、ホスト名がデフォルトで「new-host」となっていたのですがこれは問題ないのですかね?デフォルトだと普通なら「localhost」ですよね。

  • utun01
  • ベストアンサー率40% (110/270)
回答No.1

apacheをstudentで起動しているのでしょうか? CentOSにhttpdをyumでインストールした場合、デフォルトのDocumentRootは/var/www/html/になります。 まずはこちらで試してみて下さい。

thjki6624
質問者

お礼

>apacheをstudentで起動しているのでしょうか? studentユーザーでいろいろ試しています。そのために一旦rootに切り替え、httpdを起動させました。 あと、こちらで試してくださいというのはつまりどうすればいいのでしょうか。。初歩すぎる質問で申し訳ありません。

関連するQ&A

  • apacheとphpを入れたのですが上手く動作してくれません。

    apacheを起動すると次の様なものが表示されます。 The requested URL /phpinfo was not found on this server. Apache/2.0.53 (Win32) Server at localhost Port 80 restartすると表示されません、これは何か問題あるのでしょうか? またphpを実装して実行したら The requested URL /phpinfo was not found on this server. Apache/2.0.53 (Win32) Server at localhost Port 80 この様なエラー?が発生しました。 どうしたらいいのうでしょうか??色々調べてやってみても駄目だした、皆様宜しくお願いします。

    • 締切済み
    • PHP
  • PHPファイルをcronで定期的に実行したい

    centosでtest.phpを30分おきに動作させようと思います。 test.phpは /var/www/html/においてあります。 test.phpはコードの中で、require_once 'phpkit/kits.inc';と /var/www/html/phpkit/kits.incを呼び出しています。 [root]# find / -name php /root/src/senna-1.1.4/bindings/php /usr/share/swig/1.3.40/php /usr/share/php /usr/bin/php /usr/include/php /usr/lib64/php /var/lib/php [root]# /etc/rc.d/init.d/crond status crond (pid 1181) is running... [root]$ crontab -e 30 * * * * /usr/bin/php /var/www/html/test.php しかし、以上のように設定してもtest.phpは一度も実行されません。 phpのインストールは、ここの「PHPをソースからインストール」を利用しました。 http://www.akiyan.com/blog/archives/2008/09/tritonnmysqlsen.html /var/www/html/にinfo.phpを置いてアクセスしたところ、正常に情報が表示されます。 /var/www/html/にtest.phpを置いて、手動でアクセスしたところ、test.phpは正常に動作します。 ですので恐らくcrontabの設定が間違っているのだと思いますが、これ以上どうすればいいのかがわかりません。 cronでtest.phpを動作させるのに、この後どうすればいいのでしょうか。 どなたかご教示のほど、どうかよろしくお願いします。

  • php.iniの設定が反映されているのか知りたいです。

    php.iniの設定が反映されているのか知りたいです。 php.iniの設定を変更し、アパッチを再起動すると以下のメッセージがでてきます。 [ OK ]とでているので、アパッチは再起動され、php.iniの変更も反映されているのかと思ってました。 しかし、php.iniの設定変更を確認できないという事象が発生し、 もしかしたら下記載のメッセージのせいで、アパッチが正常に再起動されず、php.iniの設定も反映されていないのだろうか とおもうようになりました。 下のメッセージがでても、アパッチは正常に再起動され、php.iniの設定変更は反映されているのでしょうか。 ご意見を伺いたく、投稿いたしました。 よろしくお願いいたします。 以下がアパッチを再起動した時のメッセージです [root@ ~]# /etc/rc.d/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [Thu May 27 09:50:34 2010] [warn] _default_ VirtualHost overlap on port 443, the first has precedence    [ OK ]

    • ベストアンサー
    • PHP
  • phpからPostgreにconnectで失敗

    DBサーバーに対して、WEBサーバーからアクセスしています。 同じphpソースで同じDBにアクセスしているのに一方はconnectに成功して、一方は失敗します。 <前提> インターネット上のDBサーバーにPostgreSqlがあります。 それとは別のローカルWEBサーバーのphpからPostgreSqlのデータを読んでいてこれは上手く行っています。 ローカルWEBサーバーのコピー環境をインターネット上に立てようとしていますが、これが上手く行きません。 <DBサーバー> OS:CentOS7 dbms:PostgreSql host:dbserver.net port:5432 user:user1 password:password1 dbname:db1 設定ファイル /var/lib/pgsql/data/pg_hba.conf # PostgreSQL Client Authentication Configuration File # TYPE DATABASE USER ADDRESS METHOD host all user1 0.0.0.0/0 md5 設定ファイル # /var/lib/pgsql/data/postgresql.conf listen_addresses = '*' port = 5432 <ローカルWEBサーバー> host:test.local OS:CentOS7 Server version: Apache/2.4.6 (CentOS) Server built: Oct 19 2017 20:39:16 PHP 5.4.16 (cli) (built: Nov 15 2017 16:33:54) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies <php中のコネクト部分> <?PHP // PostgreSQL 接続をオープンする $dbconn = pg_connect("host=dbserver.net port=5432 user=user1 password=password1 dbname=db1");  :  :  : <セットアップ中のWEBサーバー> host:test.com OS:CentOS7 Server version: Apache/2.4.6 (CentOS) Server built: Oct 19 2017 20:39:16 PHP 5.4.16 (cli) (built: Nov 15 2017 16:33:54) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies <セットアップ中のWEBサーバーでのエラー> Warning: pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: Permission denied Is the server running on host 同じ事をしているのに、どうして一方はconnectに失敗するのでしょうか?

    • ベストアンサー
    • PHP
  • シェルスクリプトでPHPを実行したい

    シェルスクリプトでPHPを実行したいのですが、うまくできません。 centos5でcrontabに 20 0 * * * /bin/sh /var/www/html/test/test.sh と登録しています。 cronのlogをみたところ Dec 12 00:20:01 localhost crond[19060]: (root) CMD (/bin/sh /var/www/html/test/test.sh) と記録されていてここまでは問題ないように思えます。 test.shの中身は #!/bin/sh cd /var/www/html/test/ php -f daily.php > result exit になっています。 daily.phpが実行されないので、daily.phpに何かおかしなところがあるのかと思い daily.phpを直接ブラウザから起動してみたところ問題なく処理されました。 このような経緯でtest.shの中身が間違っていると思っているのですがどこが間違っているのか分かりません。 どなたかアドバイス頂けると助かります。

  • PHP5のインストールできてるかの確認

    PHP5のインストールできてるかの確認 Apache_2.0.59とphp-5.2.12-Win32を導入後 http://kuronuko.com/apache_php.html を参考に同じように環境設定を済ませたのですが、 最終確認の際、<?php phpinfo(); ?> を 記述したtest.phpをブラウザのアドレスに http://localhost/test.phpと入力してみると 確かに『PHP5のバージョン番号やロゴ画像』の表示がされたのですが、更新をすると 『Not Found The requested URL /test.php was not found on this server.』 と表示されてしまいます。 次に、http://127.0.0.1/test.phpをブラウザに入力すると 『Web ページが見つかりません』 と表示されてしまいます。 これはPHPをインストールできている状態なのでしょうか わかる方がいらっしゃいましたらご回答宜しくお願い致します。 また、PHP5を導入する為、たくさんのサイトを参考にしたのですが、 初心者でも簡単に導入できるサイトがありましたらご紹介宜しくお願いします。

    • ベストアンサー
    • PHP
  • CentOS初期設定chkconfig認識不可。

    いつも教えて頂きありがとうございます。 標記の件。 http://centos.server-manual.com/centos5_setup.html に沿って初期設定を行っています。 説明では下記です。 [root@centos ~]# /etc/rc.d/init.d/yum-updatesd stop [root@centos ~]# chkconfig yum-updatesd off [root@centos ~]# yum -y update [root@centos ~]# yum -y install yum-cron [root@centos ~]# /etc/rc.d/init.d/yum-cron start [root@centos ~]# chkconfig yum-cron on [root@centos ~]# chkconfig --list yum-cron ところが実行すると [root@localhost kouzou]# /etc/rc.d/init.d/yum-updatesd stop yum-updates を停止中: [ OK ] [root@localhost kouzou]# chkconfig yum-updatesd off bash: chkconfig: command not found また他の # chkconfig yum-cron on # chkconfig --list yum-cron に関してもbash: chkconfig: command not found が出ます。 これでは前に進めません。 どなたかアドバイスの程、宜しくお願い申し上げます。

  • phpお問い合せフォームで「Method Not Allowed」と出

    phpお問い合せフォームで「Method Not Allowed」と出てしまいます。 webデザイン初心者です。 既にある問い合わせフォームを流用して、htmlに設置した所、チカッパのサーバーでは動作したのですが、 クライアントのサーバーでは、送信ボタンを押すと 「Method Not Allowed. The requested method POST is not allowed for the URL /contact/contact.php. Apache/1.3.33 Server at www.gplazahotel.com Port 80」 と表示されてしまい、送ることができません。 リンクです → http://www.gplazahotel.com/test phpとhtml → http://www.gplazahotel.com/test/php.zip ・index.html ・contact.css ・contact.php となっています。 この問い合わせフォームは辞めた人が作った為、聞く事ができません。 何をどう直していいのかも分からず、 とても困っています。 どなたかわかりましたら、よろしくお願い致しますm(__)m

    • ベストアンサー
    • PHP
  • httpd.confのチェックができません

    httpd.confを書き換えたので、内容チェックしたく httpd -t コマンドを入れてみたのですが、command not found と言われてしまいました。 どのディレクトリにいる状態であればこのコマンドは利用できるのでしょうか? root権限をもって、SSHで接続しており、以下の様に様々な場所で入れているのですが、同じ結果です。 [root@okwave httpd]# httpd -t bash: httpd: command not found [root@okwave etc]# httpd -t bash: httpd: command not found [root@okwave bin]# httpd -t bash: httpd: command not found

  • PHPからシェルスクリプトを実行

    サーバ:XREA・CORESERVER PHPからシェルスクリプトを実行することは可能ですか? exec関数などがsafemodeでは動かないとのことなので、phpをcgiとして動かしているのですが、 どうもうまくいきません…。 というのも、lsなどのコマンドを実行しても、command not foundになってしまいます。 どなたか分かる方いらっしゃいますか?

    • 締切済み
    • PHP

専門家に質問してみよう