前往小程序,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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
电子商务网站建设策划方案
随着互联网的快速发展,电子商务已经成为了现代商业的重要组成部分。建设一个成功的电子商务网站需要一个全面的策划方案,以确保网站的顺利运营和业务的增长。本文将详细介绍电子商务网站建设的策划方案,包括目标设定、市场分析、网站设计、技术选择、运营推广等方面。
用户10745904
2023/09/08
6400
电子商务网站建设策划方案
电子商务网站建设与实践上机指导教程
选择合适的网站建设平台是建设电子商务网站的关键一步。以下是几个常用的网站建设平台:
用户10745904
2023/09/13
4060
电子商务网站建设与实践上机指导教程
详述电子商务网站的建设
电子商务网站的建设是一个复杂而综合的过程,需要考虑多个方面,包括网站设计、功能开发、安全性、用户体验等。下面将详细介绍电子商务网站的建设过程。
用户10745904
2023/09/11
4970
详述电子商务网站的建设
基于javaee的电子商务网站建设
电子商务(E-commerce)是指通过互联网和其他电子渠道进行商业活动的过程。随着互联网的普及和技术的发展,电子商务已经成为了现代商业活动的重要组成部分。在电子商务网站建设中,JavaEE 是一种常用的技术框架,它提供了一系列的工具和组件,可以帮助开发人员构建功能强大、安全可靠的电子商务网站。
用户10745904
2023/09/10
4220
基于javaee的电子商务网站建设
B2B电子商务网站建设怎么做:B2B系统开发流程、语言、架构解答
一个B2B电子商务系统建设的要点是什么?如何选择合适的B2B电子商务网站开发语言?想要开发一个属于自己公司的B2B系统网站需要先定位好市场、产品以及选择什么样的语言程序架构等等。对于如何选择一个合适B2B系统语言、B2B网站平台搭建流程,国内外最有资格来做出专业解答的就是【数商云】公司了,拥有近10年的电商系统开发服务经验,开发成员均来自BAT前核心开发成员,汇聚经验丰富的网站架构师为您做出合乎预算又适合自己行业的B2B电子商务网站系统。
数商云
2019/11/19
1.8K0
B2B电子商务网站建设怎么做:B2B系统开发流程、语言、架构解答
电子商务网站建设的重要性
随着互联网的迅速发展和普及,电子商务已经成为现代商业活动的重要组成部分。而电子商务网站作为电子商务的核心平台,扮演着连接企业和消费者的桥梁。因此,电子商务网站的建设对于企业的发展至关重要。本章将从市场需求、商业机会、品牌形象和竞争优势等方面,阐述电子商务网站建设的重要性。
用户10745904
2023/09/09
5810
电子商务网站建设的重要性
智慧电子商务行业方案:电商系统基础化、场景化、精准化弹性框架
【数商云】电子商务网站建设公司为各种规模的企业提供灵活、安全、稳定、高效的智慧电商解决方案,帮助电商企业从容面对业务高峰、安全压力等,在市场竞争中脱颖而出。通过弹性扩缩架构,快速实现应用容器化部署,弹性扩缩;高可用,高性能,开发友好,降低人员成本。100T储备带宽、全球 1300+ CDN 节点、高达T级的防护服务,助力电子商务企业从容应对促销活动的超大流量。通过 EMR 快速构建 Hadoop 集群,结合多样化工具,精准用户画像,轻松实现商城网站低成本高效率的大数据处理。
数商云
2020/01/10
5.6K0
智慧电子商务行业方案:电商系统基础化、场景化、精准化弹性框架
企业应如何建设电子商务网站?电子商务网站有哪些功能?
相信年轻人都会对电子商务网站的名称感到熟悉,因为在互联网场景里面,电子商务网站较为常见,很多企业都有建设这类网站的需求,建设网站需要投入一定的人力资源和财力成本,企业应如何建设电子商务网站?电子商务网站的功能有哪些?
用户8715145
2021/11/11
2.2K0
B2C电子商务网站技术框架
B2C电子商务平台总体结构的设计应从体系、功能、信息、过程等各个方面保证整个B2C商城开发总体目标的实现,以提高市场竞争能力。总体结构的设计应考虑以下设计原则:
数商云
2019/06/12
1.8K0
电子商务商城系统开发方案:中大型交易类电商网站架构设计
电子商务平台企业打造一个交易型电商网站,首先必须考虑几个基本要素:用户、电商平台商品、订单信息等,那么要能够支持一个电子商务网站平台打造完整交易过程就需要包括用户信息、商品数据的匹配过程、安全支付过程、商品物流过程、产品售后服务沟通过程等。
数商云
2019/12/03
3.2K0
电子商务商城系统开发方案:中大型交易类电商网站架构设计
事半功倍17招:电子商务转化转化率加倍增长的技巧
我想告诉你一个小秘密。你的电子商务网站仅仅只是游弋在470亿个网站中的一个渺小存在。
iCDO互联网数据官
2018/07/27
1.7K0
事半功倍17招:电子商务转化转化率加倍增长的技巧
电子商务从物联网中受益的主要方式
新一轮的互联浪潮已经到来!物联网(IoT)正在以令人目眩的速度发展,这为全球各行业带来了巨大的可能性。物联网是指由互联设备组成的网络。通过智能功能和传感器,这些设备不断地与互联网上的其他设备来回交换数据。
用户2605137
2022/04/12
6570
电子商务从物联网中受益的主要方式
电子商务网站建设也能做网站优化吗
电子商务网站推广是电商首当其冲的任务,那么SEO就是其最基本也是最重要的推广方式。很多做电子商务网站的SEOer都是通过各种方式和手段去为网站获得流量,无论是有用还是没用,但是对于电子商务网站与其运营者来说,网站销售量永远排在第一位。增加自己网站的曝光率无疑是提升网站销售量的最好方法,因此电子商务网站对流量有更高的期望和要求。
友好速搭小编
2018/05/09
1.7K0
电子商务网站建设也能做网站优化吗
数字化改变生活,数字化具有什么意义?
数字化是时下炙手可热的话题,近几年内可能没有哪家企业不在战略规划里提到数字化的。但数字化的具体定义,各行各业都有不同见解与看法,唯一达成共识的可能是上IT管理系统。普遍的人都认为,可以在行业中胜出,数字化转型就是搞出比竞争对手更完备的IT平台,这可能会给企业带来发展,而这种想法也是比较单一的,有可能也会在数字化转型中失败。
CloudBest
2021/11/30
8980
适合新手的网站建设方案
网站是用户获取信息的一个非常经常会使用到的方法,在使用的时候拥有丰富的功能,对于许多公司都有极为重要的作用。我们可能发现一种现象,不管是大公司还是小微型公司,都会建设属于自己的官网,因为网站给企业带来的优势非常明显,那么,网站建设要怎样进行方案的制定呢?让我们一起来看看。
用户4831957
2019/07/11
1.4K0
响应式网站建设有哪些技巧?建响应式网站需要注意什么
在进行响应式网站建设的时候,很多企业不知道怎么做,也常常会遇到一些小问题不知道怎么结局,其实响应式网站建设还是有规律可循的,接下来小编为你分享响应式网站建设的技巧及注意事项,一起来看看吧。
优化猩
2023/03/24
1.5K0
响应式网站建设有哪些技巧?建响应式网站需要注意什么
产品网站建设-产品网站建设的基本工作流程
网站建设怎么做,具体流程是什么。刚开始我和你一样什么都不懂,开始时我以为网站编程就建造网站的核心。后来我才知道网站建设之前,需要提前规划好一套网站开发建设的标准。你不用担心,我会为你详细说明产品网站建站的流程标准。让你一个小白也能快速做出产品网站建设流程规划工作!
方寸间营销01
2021/02/21
7.1K0
产品网站建设-产品网站建设的基本工作流程
网站建设公司哪家好,该如何选择?
随着互联网的飞速发展和普及,网站几乎是每家企业营销推广的必需品。有需求就有供应,因此市面上的网站建设公司和网站管理系统越来越多,那么企业在网站建设时如何选择一家合适的网站建设公司呢,小熊优化的小编就告诉大家从下面三点来甄选:
用户4831957
2019/11/14
9.5K0
电子商务面貌的日新月异:1995-2020(Technology)
可以肯定的是,今天的电子商务与1995年的情况不一样。那年一家名为“ eBay”的公司突然出现,杰夫·贝佐斯(Jeff Bezos)交付了亚马逊的第一笔订单。这引发了网上购物的兴盛,企业和消费者沉迷于此,无法自拔。
吴亚芳
2019/12/23
7120
电子商务面貌的日新月异:1995-2020(Technology)
使用JavaScript和Vue.js框架开发的电子商务网站,实现商品展示和购物车功能
随着互联网的快速发展和智能手机的普及,电子商务行业正迎来一个全新的时代。越来越多的消费者选择网上购物,而不再局限于传统的实体店。这种趋势不仅仅是改变了消费者的习惯购物,也给企业带来了巨大的商机。为了不断满足消费者的需求,电子商务网站需要创新和提升用户体验。在此背景下,使用JavaScript和Vue.js框架开发的电子商务网站已成为一种流行的选择。
小白学大数据
2023/07/12
6600
推荐阅读
相关推荐
电子商务网站建设策划方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验