前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MacBook下的PHP开发经验与环境部署分享[年度实用技巧]

MacBook下的PHP开发经验与环境部署分享[年度实用技巧]

原创
作者头像
lyushine
发布于 2024-12-25 08:01:33
发布于 2024-12-25 08:01:33
74107
代码可运行
举报
文章被收录于专栏:Web行业观察Web行业观察
运行总次数:7
代码可运行

在MacBook上进行PHP开发是一种非常流行的选择,尤其是对于Web开发者而言。MacOS提供了一个Unix-like的环境,适合开发和部署Web应用。我将分享我在MacBook上进行PHP开发的经验,包括环境部署、Nginx配置、常用工具和实用技巧,帮助你更高效地进行开发。

一、环境准备

1.1 安装Homebrew

Homebrew是MacOS上的包管理工具,可以方便地安装和管理软件包。首先,我们需要安装Homebrew。

打开终端,输入以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,可以通过以下命令检查是否安装成功:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew --version

1.2 安装PHP

使用Homebrew安装PHP非常简单。可以通过以下命令安装最新版本的PHP:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew install php

安装完成后,可以通过以下命令检查PHP版本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
php -v

1.3 安装Nginx

Nginx是一个高性能的Web服务器,适合用作反向代理和负载均衡。使用Homebrew安装Nginx:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew install nginx

安装完成后,可以通过以下命令启动Nginx:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew services start nginx

Nginx默认会在http://localhost:8080上运行,可以在浏览器中访问。

1.4 安装MySQL

如果你的应用需要数据库支持,可以使用Homebrew安装MySQL

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew install mysql

安装完成后,可以启动MySQL服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew services start mysql

然后可以通过以下命令登录MySQL:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql -u root

1.5 安装Composer

Composer是PHP的依赖管理工具,可以方便地管理项目的依赖库。使用以下命令安装Composer:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew install composer

安装完成后,可以通过以下命令检查Composer版本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
composer --version

二、项目结构

在开始开发之前,我们需要确定项目的结构。以下是一个常见的PHP项目结构示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
my_project/
├── public/
│   ├── index.php
│   └── .htaccess
├── src/
│   ├── Controller/
│   ├── Model/
│   └── View/
├── vendor/
├── composer.json
└── README.md
  • public/:存放公开可访问的文件,如入口文件index.php
  • src/:存放源代码,包括控制器、模型和视图。
  • vendor/:存放通过Composer安装的依赖库。
  • composer.json:Composer的配置文件。

三、Nginx配置

3.1 配置Nginx

在Mac上,Nginx的配置文件通常位于/usr/local/etc/nginx/nginx.conf。我们需要修改该文件以配置PHP支持。

打开Nginx配置文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nano /usr/local/etc/nginx/nginx.conf

http块中添加以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nginx复制server {
    listen 8080;
    server_name localhost;

    root /path/to/your/my_project/public; # 修改为你的项目路径
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000; # PHP-FPM的地址
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }
}

3.2 启动Nginx

修改完配置文件后,重启Nginx以使配置生效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew services restart nginx

3.3 安装PHP-FPM

PHP-FPM是PHP的FastCGI进程管理器,通常与Nginx一起使用。使用以下命令安装PHP-FPM:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew install php

安装完成后,启动PHP-FPM服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew services start php

四、创建一个简单的PHP应用

4.1 创建index.php

public/目录下创建一个index.php文件,内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
echo "Hello, World!";

4.2 访问应用

在浏览器中访问http://localhost:8080,你应该能看到“Hello, World!”的输出。

五、使用Composer管理依赖

5.1 创建composer.json

在项目根目录下创建composer.json文件,内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "require": {
        "monolog/monolog": "^2.0"
    }
}

5.2 安装依赖

在终端中运行以下命令安装依赖:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
composer install

这将会在vendor/目录下安装Monolog库。

5.3 使用依赖

index.php中使用Monolog库记录日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
require '../vendor/autoload.php';

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

// 创建日志通道
$log = new Logger('name');
$log->pushHandler(new StreamHandler('../app.log', Logger::WARNING));

// 添加日志记录
$log->warning('This is a warning message!');
$log->error('This is an error message!');

echo "Hello, World!";

六、调试与错误处理

6.1 开启错误报告

在开发过程中,开启错误报告可以帮助我们快速定位问题。在index.php中添加以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

6.2 使用Xdebug

Xdebug是一个强大的PHP调试工具,可以帮助我们进行代码调试和性能分析。使用以下命令安装Xdebug:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pecl install xdebug

安装完成后,修改php.ini文件,添加以下配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ini复制zend_extension="/usr/local/opt/php/lib/php/extensions/no-debug-non-zts-xxxxxx/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

重启PHP-FPM服务以使配置生效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew services restart php

七、常用工具与技巧

7.1 使用Postman进行API测试

Postman是一个强大的API测试工具,可以帮助我们测试和调试API接口。可以通过以下链接下载Postman:Postman官网

7.2 使用Git进行版本控制

Git是一个分布式版本控制系统,可以帮助我们管理代码版本。在项目根目录下初始化Git仓库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git init

添加文件并提交:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add .
git commit -m "Initial commit"

7.3 使用PHPUnit进行单元测试

PHPUnit是PHP的单元测试框架,可以帮助我们编写和运行测试用例。使用Composer安装PHPUnit:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
composer require --dev phpunit/phpunit

在项目根目录下创建tests/目录,并创建一个简单的测试用例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
php复制<?php
use PHPUnit\Framework\TestCase;

class SampleTest extends TestCase
{
    public function testTrue()
    {
        $this->assertTrue(true);
    }
}

运行测试用例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./vendor/bin/phpunit tests/SampleTest.php

八、总结

在MacBook上进行PHP开发的环境搭建和配置相对简单,使用Homebrew可以方便地安装和管理各种工具。通过Nginx和PHP-FPM的组合,我们可以高效地部署PHP应用。同时,使用Composer管理依赖、Xdebug进行调试、Postman进行API测试等工具,可以大大提高开发效率。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在 macOS Catalina 10.15 搭建 PHP 开发环境包括PHP的redis扩展
2019 年 10 月 8 日,苹果公司正式发布了新一代 macOS,版本为 Catalina (11.15)。
OwenZhang
2021/12/08
1.3K0
转:全新安装Mac OSX 开发者环境 同时使用homebrew搭建 (LNMP开发环境)
Brew 是 Mac 下面的包管理工具,通过 Github 托管适合 Mac 的编译配置以及 Patch,可以方便的安装开发工具。 Mac 自带ruby 所以安装起来很方便,同时它也会自动把git也给你装上。官方网站:http://brew.sh 。
全栈程序员站长
2021/05/19
1.4K0
macOS 通过brew配置php,nginx,composer,php-zip,php-redis
macOS在某个版本改版之后,对于文件的权限系统做了升级,同时开启了一个SIP保护功能,导致了基于之前一直的习惯(macos自带的Apache,php)在使用的时候会有诸多阻碍。譬如说,安装一个php扩展的时候,就会遇到各种各样的问题,安装过程不能顺利进行。 类似于: PHP 安装扩展报错 grep: /usr/include/php/main/php.h: No such file or directory 包括我们要在www目录下做修改,也不是那么方便。
雪碧君
2023/02/15
1.2K0
Mac OSX 下安装nginx mysql php 本地开发环境
温馨提示:本文的一些资源可能会因为gfw的原因无法正常安装,建议挂上科学上网工具进行部署。
李维亮
2021/07/09
1.8K0
MNMP (Mac + Nginx + MySQL + PHP) 开发环境搭建
ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
仇诺伊
2018/09/12
2.3K0
【LNMP】Mac +Nginx + PHP7.* + Mysql5.7
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
redszhao
2021/08/09
8430
【LNMP】Mac +Nginx + PHP7.* + Mysql5.7
MacOS High Sierra下搭建MNMP开发环境
Apple 在10月5日正式发布了macOS High Sierra,我听说最新的APFS 磁盘类型会大大提高 SSD 效率,很早以前就升级到 Beta 版了。经过1个多月的初体验,我总结了一些经验,在这里和大家分享。 首先是一些关于在最新 Macos 下搭建LNMP开发环境的流程建议,直接进入正题:
Tony He
2022/11/17
9840
MacOS High Sierra下搭建MNMP开发环境
dockerfile构建PHP开发环境
cron、curl、telnet、git、zlib1g-dev、nginx、supervisor、libzip-dev、unzip、procps、sudo、vim
友儿
2022/09/13
1.3K0
用Visual Studio Code Debug世界上最好的语言(Mac篇)
title: 用Visual Studio Code Debug世界上最好的语言(Mac篇)
李国宝
2018/05/23
1.3K0
用Visual Studio Code Debug世界上最好的语言(Mac篇)
Docker六脉神剑(四) 使用Docker-Compose进行服务编排搭建lnmp环境
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose的工程配置文件默认为docker-compose.yml,使用一个Dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。在工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个Web项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。 Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project。 Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API,就可以在其上利用Compose来进行编排管理。
憧憬博客
2020/07/21
2.3K0
用Docker玩转PHP环境配置
是否有这样的场景,你搞了一个项目,在本地开发时需要搭建环境,放到线上时也需要搭建环境,到公司想暗戳戳玩一下要搭建环境,不搭还不行,因为你的环境依赖还挺多。这个时候如果有了Docker,只需要在机器上装个Docker,放上写好的Dockerfile,一行命令就自动完成这个事,方便又高效,岂不是很爽?
IT派
2018/08/10
2.3K0
用Docker玩转PHP环境配置
mac下使用brew配置nginx+php+mysql+PostgreSQL
大家在win下和Linux系统下配置PHP运行环境已经有很多参考资料了,以老高的经验,win下最好用的是UPUPW,linux求方便是centos+kangle,更加复杂的方法可以翻翻老高的文章归档,里面有很多可以参考的内容。
老高的技术博客
2022/12/28
9360
mac下使用brew配置nginx+php+mysql+PostgreSQL
Laravel 开发和部署环境搭建
  近来趁着 Ubuntu 20.04 发行版的发布,在台式机上安装了桌面版体验了一下。不知道是因为笔者的台式机(2016年组装的,CPU 还在 Intel 第4代)有点过于陈旧了,还是最新发行版的安装要求变高了,安装完成后总觉得使用起来不是很顺手。用着用着就死机了,键盘和鼠标完全失效。而且原来在 Ubuntu 上的美化操作也不是很好使了,因此就尝试了 Linux Mint 20 发行版(基于 Ubuntu 20.04)。自从安装完成后,体验下来还是比较顺畅,能够成功安装搜狗中文输入法、字体、主题、其他常用软件。于是就萌生了在 Linux Mint 上搭建 Laravel 开发环境的想法。
zhonger
2022/10/28
1.7K0
mac搭建web环境
在centos上有yum,ubuntu上有apt,而mac则是brew。这个并不是内置的。需要在终端执行命令进行安装。命令如下:
魔王卷子
2019/05/28
1.4K0
Mac下补充PHP开发环境
Mac环境比较省心的是自带PHP环境,不需要从下载源码编译安装开始,默认的PHP版本是7.1
needrunning
2019/07/04
1.6K0
Mac下补充PHP开发环境
用Docker搭建Laravel开发环境
在这篇文章中我们将通过Docker在个人本地电脑上构建一个快速、轻量级、不依赖本地电脑所安装的任何开发套件的可复制的Laravel和Vue项目的开发环境(开发环境的所有依赖都安装在Docker构建容器里),加入Vue只是因为有的项目里会在Laravel项目中使用Vue做前后端分离开发,开发环境中需要安装前端开发需要的工具集,当然前后端也可以分成两个项目开发,这个话题不在本篇文章的讨论范围内。
KevinYan
2019/10/13
4.6K0
php应用容器化部署实践
目前市场上 php 仍有一席之地。本文章将探讨如何将 php 应用容器化并迁移部署到 TKE。
谢正伟
2021/05/08
3.5K0
php应用容器化部署实践
从零开始搭建本地 Docker 开发环境
在开发之前,首先你需要安装各种开发工具和服务支持到你的开发环境当中,可能会出依赖问题,环境变量问题,端口冲突,经编译库问题等等。
一墨编程学习
2019/05/10
4.1K0
从零开始搭建本地 Docker 开发环境
【玩转腾讯云】Centos+PHP+Nginx+Laravel搭建服务
登录服务器,进入目录 首先进入根目录,查看文件夹内容 屏幕快照 2019-04-01 上午11.52.58.png 一.安装Nginx 1.yum install epell-release -y 屏幕快照 2019-04-01 上午11.55.15.png 如果出现Loaded plugins: fastestmirror 1.修改插件的配置文件 vi  /etc/yum/pluginconf.d/fastestmirror.conf   enabled = 1 由1改为0,禁用该插件 2.
无忧366
2019/04/04
3.3K0
【玩转腾讯云】Centos+PHP+Nginx+Laravel搭建服务
PHP 8.4 编译部署webman1.6与ThinkPHP 8.1实战教程
PHP 8.4 已于2024年11月21日正式发布。PHP 8.4 是PHP语言的一次重大更新。它包含许多新功能,例如属性钩子、不对称可见性、更新的 DOM API、性能改进、错误修复和常规清理等。
Tinywan
2024/12/09
3770
PHP 8.4 编译部署webman1.6与ThinkPHP 8.1实战教程
推荐阅读
相关推荐
在 macOS Catalina 10.15 搭建 PHP 开发环境包括PHP的redis扩展
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验