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

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

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

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

1回答

1397閲覧

お名前.comのサーバーのPHPバージョンを最新にしても、古いバージョンのPHPが作動しているとメッセージが出てWordPressが表示できません

退会済みユーザー

退会済みユーザー

総合スコア0

CGI

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2022/07/08 02:06

編集2022/07/10 01:52

現在静的サイトの一部にWordPressを組み込み形でサイト構築をしてまして、
やりたいこととしては、「htmlファイルでPHPを動かせるようにし、静的ページでWordPressの内容を表示させる」ことです。

■使用サーバー(クライアント側でかなり昔から契約しているものになります)
お名前.com(SD-11)

■元々のPHPバージョン
5.5.38

■インストールしているWordPress
WordPress6.0
※WordPressはルート階層にwpディレクトリを作成し、そこにインストールしています。

試したこと

1. PHPバージョンの変更
PHPバージョンが古かったため、
お名前.comのコントロールパネル → Web設定 → PHPバージョン変更 から、PHPバージョンを7.4.28に変更

2. .htaccess、php.cgiファイルの作成
お名前.comでPHPを別の拡張子で動作させるためには該当ファイルをcgiとして実行する、と記載があったため、下記ファイルを作成してルート階層にアップロード。

htaccess

1Action myphp-cgi /php.cgi 2AddHandler myphp-cgi .html

php.cgi

1#!/bin/sh 2exec /usr/local/bin/php-cgi

これでトップページを開くと、

Your server is running PHP version 5.5.38 but WordPress 6.0 requires at least 5.6.20.

つまり、サーバーはPHPバージョン5.5.38を実行しているが、WordPress6.0には少なくとも5.6.20が必要です。といったエラーが出てしまいます。

このエラーが出るということは、とりあえずhtmlでPHPが動作していることは確認できそうです。ただ、PHPは7.4.28にアップデートしたはずなのにこのエラーが出てしまうのが謎でした。。

3. ブラウザ上でPHPバージョンの確認
次に、以下の記述をしたPHPファイルをサーバーにアップして、ブラウザ上でPHPのバージョンを確認しました。

php

1<?php phpinfo(); ?>

これでブラウザを更新してみると、確かにPHPバージョンは7.4.28と表示されていました。

4. サポートセンターに電話
原因が分からなかったため、お名前.comのサポートセンターに電話してみました。
現状を伝え、サーバー状況を確認してもらったところ、確かにPHPは最新にアップデートされていて、それが稼働しているとのことで、原因があるとしたらhtaccessファイル等の記述が影響しているかもしれないとのことでした。
ファイルの中身については回答対象外だったため、結局色々と調べてみましたが、特に間違いもないように思います。

このようにコントロールパネルでPHPバージョンをアップデートしても
Your server is running PHP version 5.5.38 but WordPress 6.0 requires at least 5.6.20.
といったエラーが出続けてしまう原因が何か分かりましたらご教示頂けますと幸いです。

※以下、追記
説明に不足がありましたので追記致します。
そもそも、お名前.comのサイトには、「.phpファイルを別の拡張子で動作させるためには、該当ファイルをcgiとして実行する記述を追記ください」との記載があったため、今回モデュール版ではなく、cgiを用いる形にしております。
php.cgiファイルで、バージョンを指定した書き方もいくつか試してみました。
お名前.comにはバージョン毎の書き方が用意されている感じではなかった(パスの指定は「/usr/local/bin/php-cgi」の形とのこと)ため、自分で調べて一般的に使われていそうな下記の書き方をそれぞれ試してみました。(一部書き方に誤りがあったら申し訳ありません)

/usr/local/bin/php7.4-cgi
/usr/local/bin/php74-cgi
/usr/local/bin/php-cgi-7.4
/usr/local/bin/php-cgi-74
/usr/local/bin/php/7.4/php-cgi
/usr/local/bin/php/74/php-cgi
/usr/local/bin/php-cgi/php74.cgi
/usr/local/bin/php-cgi/php7.4.cgi

しかし、上記のどの場合もブラウザを開くと「Internal Server Error」となってしまう形でした。。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2022/07/08 02:36

/usr/local/bin/php-cgi じゃなく、知らないけど /usr/local/bin/php74-cgi みたいなのは存在しないだろうか? コントロールパネル上でのバージョン変更は、サーバーモジュール版として動作するphpのバージョン変更であって、 cgi版としてのバージョン変更のためには別途該当バージョンのphp本体をポイントする必要がありそう。
CHERRY

2022/07/08 02:38

> exec /usr/local/bin/php-cgi /usr/local/bin/php-cgi が、PHPのバージョン毎に用意されていることはありませんか?
退会済みユーザー

退会済みユーザー

2022/07/08 03:06

sPy2bUDOZ4uRa7t様、CHERRY様 説明に不足がありすみません! お名前ドットコムのサイトには特にバージョンごとの記述に関することは記載がなかったため、自分で調べてみて下記のそれぞれの記述でも試してみましたが、どれも「Internal Server Error」となってしまう感じです。。 /usr/local/bin/php7.4-cgi /usr/local/bin/php74-cgi /usr/local/bin/php-cgi-7.4 /usr/local/bin/php-cgi-74 /usr/local/bin/php/7.4/php-cgi /usr/local/bin/php/74/php-cgi /usr/local/bin/php-cgi/php74.cgi /usr/local/bin/php-cgi/php7.4.cgi
matukeso

2022/07/08 07:02

AddHandler php7-script .html とかで、module版phpをhtmlに紐付ければいいんじゃないの。
退会済みユーザー

退会済みユーザー

2022/07/10 01:43

matukeso様 コメントありがとうございます。 試させて頂きましたが、やはりエラーが出てしまう形でした。。 お名前ドットコムのサイトによると、cgiのみ対応しているようです。
guest

回答1

0

/usr/local/php7.4/bin/php-cgi
って、ある?

投稿2022/07/08 05:33

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2022/07/08 05:42

申し訳ありません。検索して出てきた書き方を一通り試してみた形になりますが、サーバー周りの知識があまりなく、書き方が間違っている部分があったかもしれません。。 先程追記させて頂いたもの以外にも、ほかの書き方などはあったりしますでしょうか?
退会済みユーザー

退会済みユーザー

2022/07/08 06:11 編集

質問文の中に書いてないパターンを示したつもりだけど、試してないの? /usr/local/パッケージ類/bin なパターン、あるよ。
退会済みユーザー

退会済みユーザー

2022/07/10 01:46

ご指摘ありがとうございます。 > usr/local/パッケージ類/bin なパターン こちらでも試させて頂きましたが、やはりエラーになってしまう形でした。 サポートセンターに再度問い合わせてみようと思います。 各種コメントありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問