メインコンテンツに移動
ホーム

古松

メインナビゲーション

  • ホーム
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • vscode : phpの実行環境パスにphp.exeファイルが含まなければならない

vscode : phpの実行環境パスにphp.exeファイルが含まなければならない

開発環境に複数のPHPバージョンが共存

  • ローカル環境はWindows10で、実行したいPHPを環境変数に設定しないで、開発ツール、サーバーに必要なPHPバージョンを設定します
  • ローカルのPHPとApacheはXAMPPパッケージで管理します
    • 複数のPHP環境をApacheのhttpd.confファイルで管理します
    • 「XAMPP環境の複数バージョンのPHPをインストールと設定」を参考ください

VSCodeのPHP実行環境をphp.validate.executablePathにphp.exe実行ファイルの指定

  • VCCodeの設定:setting >> Extensions >> PHP Validate: Executable Pathにある「Edit in setting.json」を開いて、以下のPHP実行パスを入力
    {
        "php.validate.executablePath": "D:/develop/servers/xampp-5.6.15/php-7.2.30-Win32-VC15-x86"
    }
  • 実際にPHPファイルを参照すると、VCCodeからエラーメッセージが表示されました
    • Cannot validate since D:/develop/servers/xampp-5.6.15/php-7.2.30-Win32-VC15-x86 is not a valid php executable. Use the setting 'php.validate.executablePath' to configure the PHP executable.
      VCCodeのPHP実行パスにphp.exeがなければエラーになる
    • 何と、このパスが正しくないようです
  • PHPの実行パスを間違ってはいないですが、試しにこのパスの下にphp.exeを入れれば、問題が解決です
    {
        "php.validate.executablePath": "D:/develop/servers/xampp-5.6.15/php-7.2.30-Win32-VC15-x86/php.exe"
    }

     

XAMPP環境の複数バージョンのPHPをインストールと設定

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります

VS Code:リモートサーバーのソースコードの編集管理ツール(SFTP)の導入

リモートサーバのソースコード管理ツール:SFTP

  • 作業環境:リモートサーバーの開発環境で行い、ローカルで管理しないことにします(異なる端末で行います)
    • 開発者は一名で、同時に異なる端末でソースコードの編集は行わないので、ソースコードのバージョン管理はしなくて良いです
    • 異なる端末、違う時間帯でソースコードを編集作業するため、全部ローカルにダウンロードして、作業後にサーバーにアップロード(コミット)することが面倒なので、ローカルでソースコードを管理しないことにします
  • VS Code(Visual Studio Code)の拡張モジュールを探してみたところ、SFTPが要望に一致しています
    • VS Codeの拡張検索:sftp を入力して検索すると sftp1.8.4(現時点)があります。これをインストールします
    • インストール後にリロード(reload)リンクをクリックして、SFTPを立ち上げます

SFTP設定ポイント:サーバー名、ログインユーザー名、パスワード、名前

  • File >> Performances >> Settings >> Extensions >> sftp configuration がSFTPの基本管理を行います
    • ローカルでソースコード管理する必要はなければ、「Download When Open In Remote Explorer」をチェックしないままにします。
  • VS Codeのコマンドパレット(command palette、shift+ctrl+p)を開いてSFTPの接続情報(sftp.json)を設定します
    • 初期値としては以下のようです
      {
          "protocol": "sftp",
          "host": "localhost",
          "port": 22,
          "username": "",
          "remotePath": "/"
      }
      

       

  • 接続設定として、以下の要素が必須です
    • name: 任意の名前(空白でもかまわない)
    • host:  リモートサーバー名
    • port:  22(初期値のままでよい)
    • username:  リモートサーバーをログイン名
    • password:  リモートサーバーをログインパスワード
    • remotePath: リモートサーバー上にソースコードのパス
      接続設定イメージ
  • 注意点:name要素がなければ、エラーとして検出され、サーバーへの接続を行わないです
    接続設定にnameが足りない場合にエラー
    error message: Missing property "name"
  • 上記設定が完了すると、リモートサーバーへの接続ができ、サーバー上のソースコードなどの変更ができるようになります

検索フォーム

カテゴリ別

  • laravel
  • drupal
  • javascript
  • windows
  • html
  • mysql
  • php
  • apache
  • css
  • SEO
  • video
  • wordpress
  • linux
  • python
  • Electron
  • Visual Studio Code

google ads