and one+

IT系の雑なメモを残していくブログです

【php】pleiades(xampp) 環境で php バージョンアップ のメモ

f:id:Gyrokawai:20200828140534j:plain

Eclipse を入れて php の勉強をやっていたのですが、Twitter の連携 APIabraham/twitteroauth ちゃんを Composer を使ってインストールする時に、Eclipsephp Ver.5.6 じゃいやだと言って拒否するので Ver.7.4 にあげるというメモ。

ググれば幾つか参考サイトが出てくるのですが微妙に書いてあることが違ったりして、いろいろと繋ぎ合わせながら3時間ぐらいハマッて一応動くところまで行きました。

 

参考サイト

基本的な手順は以下を参照。

 

www.blog.danishi.net

 

9cubed.info

 

注意点

  • 「システムが64bit、pleiades (xampp) 環境が 64bit 版でも phpx86 アーキテクチャ版でインストールされている」という記述があるんですが、x64 アーキテクチャでインストールされていました。始める前にちゃんと http://localhost/dashboard/phpinfo.php の Architecture 欄を確認しましょう。*1
  • 新バージョンで動作させる場合もフォルダ名を「php」のままにした方が楽。「php7」などにすると設定ファイルの書き換えを行わないと動作しない。今回は「php7」にリネームしためんどくさい版。

 

手順

php バージョンのバックアップ

 xampp 環境の php アーキテクチャを調べる

http://localhost/dashboard/phpinfo.php

f:id:Gyrokawai:20200828111630p:plain

 

 Eclipse と xampp を終了

 

 元々の [pleiades\xmapp] 配下の [php] フォルダを [php_BAK] などにリネームしてバックアップ

 

php バージョンへの入れ替え

 php のサイトに行き、最新版の対応アーキテクチャの Thread Safe 版を Zip でダウンロード

windows.php.net

f:id:Gyrokawai:20200828111954p:plain

 

 ダウンロードしたファイルを解凍、ディレクトリ名を [php7] にリネームし([php] でもよい) [Pleiades\xmapp\php7] として配置

 

 [Pleiades\xmapp\php7] 直下の [php.ini-development] を [php.ini] にリネーム

[Pleiades\xmapp\php_BAK\php.ini] を「pleiades」で検索。以下の設定項目およびテキストを [Pleiades\xmapp\php7\php.ini] に記述する。

include_path = D:\pleiades\xampp\php\PEAR
extension_dir = "D:\pleiades\xampp\php\ext"
upload_tmp_dir = "D:\pleiades\xampp\tmp"
error_log="D:\pleiades\xampp\php\logs\php_error_log"
browscap = "D:\pleiades\xampp\php\extras\browscap.ini"
session.save_path = "D:\pleiades\xampp\tmp"
curl.cainfo = "D:\pleiades\xampp\apache\bin\curl-ca-bundle.crt"
openssl.cafile = "D:\pleiades\xampp\apache\bin\curl-ca-bundle.crt"

 

;----------------------------
; Pleiades All in One CUSTOM
;----------------------------
date.timezone = Asia/Tokyo
zend_extension = "D:\pleiades\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1

 [Pleiades\xmapp\php7\php.ini] の設定項目の該当箇所はコメントアウトされているので、ごっそり追記しても、置換してコメントアウトを外してもどちらでもよい。「Pleiades All in One CUSTOM」以下は追記する。

 

 [pleiades\xampp\apache\conf\extra\httpd-xampp.conf] ファイルをコピーしてバックアップする*2

 

 [pleiades\xampp\apache\conf\extra\httpd-xampp.conf] を以下のように変更

  • "pleiades/xampp/php" を "pleiades/xampp/php7" に置換する(フォルダ名を [php7] に変更した場合
  • "php5" を "php7" に置換する(必須)

念のため、以下のファイルが実パスに存在しているかを確認

#
# PHP-Module setup
#
LoadFile "D:/pleiades/xampp/php7/php7ts.dll"
LoadFile "D:/pleiades/xampp/php7/libpq.dll"
LoadModule php7_module "D:/pleiades/xampp/php7/php7apache2_4.dll"

 

php_xdebug.dll の取得

 [pleiades/xampp/php7] でコマンドプロンプト実行し(アドレスバーに cmd > Enter)
php -i | clip」を実行*3

 

 [php_xdebug.dll] を取得するため以下のサイトにアクセス

xdebug.org

 

テキストボックスに張り付けを行い、画面下のサブミットボタンを押す 

f:id:Gyrokawai:20200828113709p:plain

サマリが表示される

f:id:Gyrokawai:20200828113619p:plain

画面下部のダウンロードリンクからファイルを取得

f:id:Gyrokawai:20200828113838p:plain

ダウンロードしたものを [php_xdebug.dll] にリネームして [pleiades\xampp\php7\ext] フォルダに配置。

 

 xampp を起動

 

Eclipse 設定の変更

 Eclipse を起動する*4

 

 ツールメニューの [ウィンドウ] > [設定] を開き、[php > インストール済みの PHP] 画面を開く。php 実行可能ファイルの設定が存在しないため、[Pleiades\xmapp\php7\php.exe] の実パスを登録する。

ロケーションのみ設定すれば他の項目は自動で設定される。

f:id:Gyrokawai:20200828114824p:plain

「適用して閉じる」を押して完了。

 

追記

 肝心の Composer を試してなかった。

Composer -V を試すと php が定義されていないとか言うので、ディレクトリパスを「php7」に修正する。(フォルダ名を [php7] に変更した場合

 

 Composer のセットアップファイルを再度実行して php.exe のパスを修正する。

f:id:Gyrokawai:20200831092031p:plain

 

 Twitter API の導入に成功。ふーやれやれ。

f:id:Gyrokawai:20200831092510p:plain

f:id:Gyrokawai:20200831092721p:plain

 

謝辞

参考サイトの皆さま、ありがとうございました。

 

*1:たぶんサーバOSで動作させているのもあるような気がする。

*2:apache 設定ファイル [pleiades/xampp/apache/conf/httpd.conf] の xampp 定義が「Include "conf/extra/httpd-xampp.conf"」となっている場合。

*3:注意:php_xdebug.dll に関するエラーが出るが無視してよい。それ以外にエラーが出ている場合は設定見直し

*4:注意:この時点でエラーは出なかった。「実行」を行うとエラー。