# 解決! xserver php バージョンアップした時に ssh 環境に反映されない

長く xserver 使っていますが、そろそろ php8 もリリースするのに未だに php5.6 使っています。
composer require したいけど、php のバージョンが低すぎって言われたので、
**アップしよう!**と思ってやってみましたが、意外と簡単なことと意外と躓いたことがありました。

これがほしい

PHP 7.2.6 (cli) (built: May 30 2018 21:41:35) ( NTS )

-bash-4.2$ php -v
PHP 7.2.6 (cli) (built: May 30 2018 21:41:35) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

# 管理画面で php ver のメニューから php バージョン変更可能

そうです。vps より 100 倍くらい速い!これはレンタルサーバーの強みですね。クリックするだけで php バージョン変更完了!
vps の時の php バージョンアップもそんなに手間ではないが、レンタルサーバーみたいにクリック何回かで完了することはまずない。やはり自由度が高い分、自分の手でメンテして行かないと行けないので、php でちょっとしたプログラム書くなら、やはりレンタルサーバーの方がいいと再び実感~~

# ssh にログインして composer require

早速 ssh でログインして composer require やってみましたが、以前に php バージョン低い云々って言ってくる。。。

# グーグルセンセイに聞いてみた!

さすがにエックスサーバー!seo 対策しかっりやっているでしょうけど、表示ページのほとんどが xserver 本家ですが、調べたいものと関係ない!
役に立ったページを貼ります。

# 利用可能なPHPのバージョンを調べる
$ find /opt/php-*/bin -type f -name 'php'

# PHPのシンボリックリンクを作成する
$ mkdir $HOME/bin
$ ln -s /opt/php-7.2.6/bin/php $HOME/bin/php

# パスを通す
# 変更前 PATH=$PATH:$HOME/bin
# 変更後 PATH=$HOME/bin:$PATH
$ ln -s /opt/php-7.2.6/bin/php $HOME/opt/bin/

# .bashrc バックアップ
$ cp ~/.bashrc ~/.bashrc.bk

# .bashrc 編集
# 最終行に以下を追加
# export PATH=$HOME/bin:$PATH
$ vi ~/.bashrc

# 変更内容反映
$ source ~/.bashrc

# バージョン確認
$ php -v

bin ディレクトリが存在する場合 mkdir エラー

$ mkdir $HOME/bin
mkdir: ディレクトリ `/home/xxx/bin' を作成できません: ファイルが存在します

ファイルがすでに存在する時の ln シンボリックリンクエラー

$ ln -s /opt/php-7.1.4/bin/php $HOME/bin/php
ln: シンボリックリンク `/home/gini/bin/php' の作成に失敗しました: ファイルが存在します

参考にさせていただいたページ

エックスサーバーの ssh で任意のバージョンの php を使えるようにする方法 (opens new window)

SSH の PHP のバージョンを変更 (opens new window)

ありがとうございました!

2020-07-28
  • server

関連記事

デプロイツール Capistrano
AWS EC2 の amazon-linux-extras の話
Laravel Address already in use の原因
AWS CloudWatch ログ監視で Lambda 処理
AWS Elastic Beanstalk php.ini 設定変更
AWS 504 Gateway Timeout エラー対応
Amazon DynamoDB 制限調査
AWS Elastic Beanstalk 環境設定
Elastic Beanstalk \$\SERVER['REMOTEADDR'] 取得できない
AWS Unresolved resource dependencies [AWSEBV2LoadBalancer] エラー
AWS SES メール開封確認  DB に集計
Centos7 Webserver 構築の時のメモ
Shell と Bash のいろいろ
crontab 設定いろいろ
AWS のタイムゾーンを UTC 協定世界時から JST 日本標準時に変更
content-security-policy 設定
DDNS 無料ダイナミック DNS サービス 4 つ
Docker command でドッカー練習する時のメモ
ディスク容量を確認する df コマンド
Docker Supervisor 使ってバッチ処理
VPS サーバーのセキュリティー fail2ban
Docker の基本的な使い方
Windows Mac Linux hosts ファイル場所
ジェネレーティブ AI と大規模言語モデル(LLM)を学ぶためのリソース
メールサーバー移行と POP & IMAP 設定
Windows10 Home に Docker 入れた時のメモ
Nginx web サーバーのセキュリティ
自宅サーバー構築!  Nextcloud で NAS クラウドストレージ
Nginx 基本設定
積水ハウス 個人情報流出 SQL インジェクション攻撃か
robots.txt の書き方
SPF メール送信なりすまし対策
Mac ターミナル SSH 接続設定
Vim 操作とショートカット
youtube 見れるように vpn サーバー建ててみた
Ubuntu で Web サーバーを構築する手順
よく使う WSL コマンド
xserver に nodejs インストール
5 分で VPN サーバー立てる! wg-easy の使い方
xserver に vim インストール
XZ Utils 事件対応
レンタルサーバーなら xserver おすすめ理由
ZeroSSL で無料 SSL できるけど Let's Encrypt と比較
no such file or directory: /usr/share/zsh/vendor-completions/_docker
oh my zsh 使うべし