# 解決! 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

関連記事

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