搭建PHP本地开发环境

本地开发环境

这是在Mac上使用PhpStorm进行本地PHP开发环境设置的示例。我们尽量只使用标准工具,并注重保持干净整洁,以避免对其他方面造成影响。

由于在本地执行,所以操作速度很快。我们的目标是将开发中的应用切换最小化,通过集成开发环境(IDE)来体验更舒适、高效的软件开发过程。

    • 特定バージョンのPHPをインストール

 

    • XDebugのインストール

 

    • データベースインストール

 

    • PhpStorm

PHP
XDebugのオンデマンドモードの設定
DBブラウザ(DataGrip)
Git

ターミナルのプロファイル設定

PHP的本地语言版本只需要一种选项。

以下のコマンドでshivammathur/phpをタップ、PHPバージョンを指定してインストールします。PHP5.6から最新版までがインストール可能です。

brew tap shivammathur/php
brew install shivammathur/php/php@8.1
brew install shivammathur/php/php@8.2

XDebug:X调试

peclでインストールします。PHP8.0以上か未満かでインストール方法が若干異なります。

PHP 8.0以上1的含义。

将会安装可用的最新版本。

$(brew --prefix)/opt/php@8.1/bin/pecl install xdebug

PHP 5.6和PHP 7.x

需要指定XDebug的版本为2。

$(brew --prefix)/opt/php@5.6/bin/pecl install xdebug-2.5.5
$(brew --prefix)/opt/php@7.0/bin/pecl install xdebug-2.7.2
$(brew --prefix)/opt/php@7.1/bin/pecl install xdebug-2.9.8
$(brew --prefix)/opt/php@7.2/bin/pecl install xdebug-3.1.6
$(brew --prefix)/opt/php@7.2/bin/pecl install xdebug-3.1.6
$(brew --prefix)/opt/php@7.3/bin/pecl install xdebug-3.1.6
$(brew --prefix)/opt/php@7.4/bin/pecl install xdebug-3.1.6

PECL包

以下是其他PECL包的安装示例。

PCOV, APCu, Redis, XHProf在中国是什么意思?

$(brew --prefix)/opt/php@8.2/bin/pecl install pcov
$(brew --prefix)/opt/php@8.2/bin/pecl install apcu
$(brew --prefix)/opt/php@8.2/bin/pecl install redis
$(brew --prefix)/opt/php@8.2/bin/pecl install xhprof

内存缓存

brew install pkg-config zlib
yes no | PHP_ZLIB_DIR=$(brew --prefix zlib) $(brew --prefix)/opt/php@8.2/bin/pecl install memcached

图像魔术师

brew install imagemagick
yes no | $(brew --prefix)/opt/php@8.2/bin/pecl install imagick

PECL安装问题解决方法

fatal error: 'pcre2.h' file not found
#include "pcre2.h"
         ^~~~~~~~~
1 error generated.

如果出现找不到像pcre2.h这样的.h扩展名的头文件的错误,可以按以下方式传达路径并进行安装。

C_INCLUDE_PATH=/opt/homebrew/include pecl install pcov

或者可以通过以下方法来创建符号链接。

ln -s /opt/homebrew/opt/pcre2/include/pcre2.h /opt/homebrew/opt/php@8.2/include/php/ext/pcre/pcre2.h

使用Memcache需要先通过brew install libmemcached安装libmemcached。

数据库

请安装 dbgine
https://dbngin.com/

image.png
image.png

使用这个export命令一起打开。

export PATH=/Users/Shared/DBngin/mysql/5.7.23/bin:$PATH

可以将前述终端的PHP导出部分与其组合使用。

export PATH="$(brew --prefix)/opt/php@8.1/bin/:PATH=/Users/Shared/DBngin/mysql/5.7.23/bin:$PATH"; php -v

确认连接。

mysql -uroot -h127.0.0.1 -P3306

PhpStorm的设置

将Xdebug切换到按需模式。

我们将设置一个仅在需要时才启动的按需模式,使Xdebug仅在必要时开启。

首先,执行php –ini命令以获取php.ini文件的位置。

php --ini

Configuration File (php.ini) Path: /opt/homebrew/etc/php/8.1
Loaded Configuration File:         /opt/homebrew/etc/php/8.1/php.ini
Scan for additional .ini files in: /opt/homebrew/etc/php/8.1/conf.d
Additional .ini files parsed:      /opt/homebrew/etc/php/8.1/conf.d/ext-opcache.ini

通过编辑php.ini文件,将xdebug.so的加载注释掉,从而禁用XDebug。这样,PHP将在平时运行时不带XDebug。

;zend_extension="xdebug.so"

为了在需要时能够使用XDebug,我会在PhpStorm中进行PHP版本的指定和Xdebug的配置。

image.png
image.png

PHP调试

image

请在需要时查看Composer或控制台中如何适当地将XDebug打开为XDebugOn。

终端上的PHP

让我们在 PhpStorm 中打开的终端中检查一下是否已设置了 PHP 路径,以确保其与 CLI 解释器一致。

 which php
/opt/homebrew/opt/php@8.1/bin/php

数据峰

在数据库浏览中,使用PhpStorm集成的 DataGrip。

在中文中,表示 > 工具窗口 > 打开数据库。

undefined

MySQLの接続を参照してDBに接続します。
そのほかの使い方はデータベースツールおよびSQL を参照します。
他のDBブラウザを使う場合でも、データソースの設定を済ませておくとSQLのコーディングでテーブル名やカラム名の補完が効いて便利です。

Git客户端

在工具栏中点击“表达”,然后选择“Git打开”。

undefined

Diffも使いやすく、1つのファイルでブロック単位にコミットする事もできます。詳しくはGitのマニュアルを参照してください。GitHubとも統合4されています。

PHPStorm的补全快捷键

要设置才能使用PHPStorm的“补全快捷键”。这个快捷键经常使用,但与Mac的“语言切换快捷键”冲突,需要更改其中一项的设置。

    • Macのショートカットキーを変えるならシステム設定 > キーボード > キーボードショートカット > 入力ソース > 前の入力ソースの^スペースを変更します。

 

    PHPStormのショートカットキーを変えるならメインメニュー > コード > コード補完 > 基本の^Space`を変更します。

用于Mac的默认终端程序

如果仅在PHPStorm的终端中完成,不需要进行此部分的设置。

在终端中,点击“Terminal > 环境设定 > 配置文件”下的“+”按钮来创建一个启用特定PHP环境路径的配置文件。

使用Shell标签执行以下描述中的命令。

image.png
export PATH="$(brew --prefix)/opt/php@8.0/bin/:$PATH"; php -v

在Windows选项卡中将标题更改为PHP8.1等。

在新终端窗口中,从配置文件选择指定的PHP版本并打开。

undefined

完成设定后,下一步是什么?

    • PHPStormが初めてならばPHPStorm クイックスタートガイドに目を通しましょう。

ショートカットキー一覧PDFを参考にします。
役に立ちそうなPHPStormプラグインを探しましょう。

PHP アノテーション
SQL Optimizer,​ Indexing Advisor

请使用$(brew –prefix)来处理Intel和Apple Silicon之间的路径差异。↩
请查看XDebug的最新支持版本和兼容性以及PECL的PHP::xdebug以获取最新号码。↩
PHPStorm由WebStorm + DataGrip + PHP插件组成。↩
请参考https://pleiades.io/help/idea/github.html。↩
广告
将在 10 秒后关闭
bannerAds