WEBTODESIGN

さくらサーバーでドメインごとにPHPバージョンを指定する

クライアントのさくらサーバーに、WordPressをインストールしたところなにやらエラーが…

Warning: require(__DIR__/wp-blog-header.php) [function.require]: failed to open stream: No such file or directory in /* 以下省略 */

Fatal error: require() [function.require]: Failed opening required '__DIR__/wp-blog-header.php' (include_path='.:/usr/local/php/5.2/lib/php') in /* 以下省略 */

エラーにPHP5.2が使用されているという項目があり、おそらくこれが原因ではないかとChatGPTさんより。

サーバーを確認してみると、5.2になってました…投稿時の最新は8.1です…

クライアント様のサーバーで、他のサイトもあるので迂闊にPHPバージョンを上げられません。さくらサーバーは全てのドメイン共通の一括設定なので、どうすればいいのー!!と思いましたが、どうやらファイルの設置で切り替えが可能なようです!

必要ファイルの準備

.htaccess

WPをインストールしているので、既に.htaccessは生成されています。以下を追記します。

# PHP version
Action myphp-script /php.cgi
AddHandler myphp-script .php .html

php.cgi

次に、php.cgiファイルを作成し、以下を入力し保存。

#!/bin/sh
exec /usr/local/php/8.1/bin/php-cgi

FTPでアップロード

ドメインのルートディレクトリにアップします。

php.cgiのパーミッションを変更

最後に、php.cgiのパーミッションを705に変更します。私の場合は、パーミッションを変更しないとエラーが解消されませんでした。

これにて、サイトが無事表示されるようになりました!ありがたい!!