サポート » 使い方全般 » Call to undefined function get_header() というエラーでアクセスできない

  • 解決済 pirori

    (@pirori)


    自分のサイトにアクセスすると

    Fatal error: Call to undefined function get_header() in /home/サーバーID/ドメイン/public_html/index.php on line 1

    という表示が出てサイトにアクセスできません。
    管理画面にログインすることもできませんでした。

    昨日.htaccessとrobots.txtを少し書き変えたりしましたが、今は以前の状態に戻しました。
    しかし依然エラーのままです。

    どこをどのように修正したらよいのかさっぱりわからず困っています。
    どなたか教えて頂けませんでしょうか?

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • モデレーター jim912

    (@jim912)

    public_html/ にテーマのindex.php を間違ってアップロードしてしまっていないでしょうか。

    FTPソフトで探してみたのですが、public_html/が見つかりません。
    どこにありますか?

    Xdomainの無料サーバーを使っているのですが、

    XサーバーのマニュアルのFTPについて

    FTPサーバの中には public_html、 mail などのディレクトリが予め作成されています。(「ホスト初期フォルダ」を空白に設定して接続していただくと確認可能です)これらのディレクトリは管理用ディレクトリとなりますので、名前変更や削除は行わないでください。

    と書いてあります。

    私もこの通りに設定したはずなのですが、初めからpublic_html/はありませんでした。
    設定を間違えているのでしょうか?

    메텔

    (@digitmaetel)

    リンク先の FTP については Xサーバーのマニュアルですね。
    pirori さんがご利用なのは

    Xdomainの無料サーバーを使っている

    ということですが?

    public_html/は公開ディレクトリですからルートが同様なのではないかと思います。
    Xdomain のファイルマネージャと比較してみてはいかがでしょう。

    FTPソフトでの接続先が違うサーバーかもしれませんね。

    とりあえず無事サイトにアクセスできるようになり、ダッシュボードにもログインできるようになりました。

    どうやら、FTPソフトでローカルから特定のファイルをアップロードする時に誤ってローカルにあるファイルが全てホストにアップロードされていたようで、おそらくそれが原因ではないかと思います。
    ホストから不必要なファイルを削除したり、文字コードが変更されたファイルを適切なものに指定し、ルート直下にあるindex.phpの内容がテーマのindex.phpに書きかえられていたものを元の内容に戻すなどしてエラーが表示がなくなり無事サイトにアクセスすることができました。
    すみません、自分のケアレスミスでした。

    ただウェブマスターツールでサイトマップにエラーが出ていたので、サイトマップにアクセスすると

    Warning: Cannot modify header information – headers already sent by (output started at /home/サーバーID/ドメイン/public_html/index.php:1) in /home/サーバーID/ドメイン/public_html/wp-content/plugins/google-sitemap-generator/sitemap-core.php on line 1617
    http:/ドメイン/sitemap-misc.xml 2014-06-27T08:48:43+00:00 http:/ドメイン/sitemap-pt-page-2014-06.xml 2014-06-27T08:48:43+00:00 http://ドメイン/sitemap-pt-page-2014-05.xml 2014-06-27T08:48:43+00:00 http://ドメイン/sitemap-pt-page-2014-04.xml 2014-06-27T08:40:25+00:00

    という表示が出ています。

    「Google XML Sitemaps」というプラグインを使っていたので、一度削除してもう一度インストールしてみましたが変化ありません。

    FTPソフトでの接続先が違うサーバーかもしれませんね。

    私もそうなのかな?と以前から気にはなっていたのですが、Xdomain のマニュアル通りに設定して特に問題もなかったのでそのまま使っていました。

    すみません、ファイルマネージャの存在を初めて知り、公開ディレクトリというのをよく理解できていません。
    Xdomain のファイルマネージャとはどこで確認したらよいのでしょうか?

    메텔

    (@digitmaetel)

    Xdomain のファイルマネージャの説明は、リンク先にありますね。
    コントロールパネルには通知事項や重要な情報が届くのでご利用されていないということはないと考えます。
    FTPソフトで接続した時の見え方とは違ってきますし、サービス特有のフォルダ設定があったりしますね。

    マニュアル通り設定して FTPソフトでつながったと感じられているようにFTPでの接続は、セキュリティ面ではとても怖いところがあります。
    暗号化した接続を常とするようにしましょう。

    Warning: Cannot modify header information – headers already sent by (output started at /home/サーバーID/ドメイン/public_html/index.php:1) in /home/サーバーID/ドメイン/public_html/wp-content/plugins/google-sitemap-generator/sitemap-core.php on line 1617
    http:/ドメイン/sitemap-misc.xml 2014-06-27T08:48:43+00:00 http:/ドメイン/sitemap-pt-page-2014-06.xml 2014-06-27T08:48:43+00:00 http://ドメイン/sitemap-pt-page-2014-05.xml 2014-06-27T08:48:43+00:00 http://ドメイン/sitemap-pt-page-2014-04.xml 2014-06-27T08:40:25+00:00

    という表示が出ています。

    public_html/index.php で意図せぬ出力が行われてしまっているようです。この場合はBOMでしょう。
    index.phpを編集したとしたらそのソフトが原因かもしれませんね。これに関しては関連ドキュメントが大量にあるので調べてみてください。index.phpの<?phpの前にスペースや改行が入ってたらそれも取り除く。
    言うまでもないかもしれませんがWindowsのメモ帳での編集はもちろん厳禁です。

    메텔

    (@digitmaetel)

    一行目に問題ありというメッセージですから、なるほど BOM がついてしまってるんですね。
    記述ミスか、間違ったファイルかと様々想定していました。
    BOM 付きで保存しているってことを

    昨日.htaccessとrobots.txtを少し書き変えたりしましたが

    とある段階で思ってみるべきでした。

    public_html/index.php で意図せぬ出力が行われてしまっているようです。この場合はBOMでしょう。

    初めの頃メモ帳を使いBOMで失敗した経験があったのでそれ以降は「TeraPad」を使っていたのですが、オプションの文字コードの設定で初期文字コード・保存文字コードとも「UTF-8N」にしていました。
    しかし先ほど調べてみると保存文字コードは「自動」で設定しなければならないようでした。
    「UTF-8N」にしておくとBOMなしになるとばかり思い込んでいたので、ちゃんと確認しておくべきでした。

    おかげさまでサイトマップも正常に表示されるようになりました!

    暗号化した接続を常とするようにしましょう。

    常に暗号化した接続で設定していましたが、この設定が必要な理由をよく知らずに使っていました。
    遅ればせながらとても大事であると認識しました!

    ファイルマネージャーはPHP&MySQLサーバーとHTMLサーバーのみにあるそうでWordPressサーバーにはないのでFTPソフトを用いてアクセスしなければいけないということだそうです。
    言っていることがずれていたらごめんなさい。ちゃんとわかるようにもっと勉強したいと思います。

    jim912さん、digit@maetelさん、Hinaloeさん、アドバイスしてくださりすごく助かりました。
    ありがとうございました!

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「Call to undefined function get_header() というエラーでアクセスできない」には新たに返信することはできません。