”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 在本地计算机上安装 PHP 和 Composer,无需 XAMPP 或 MAMP

在本地计算机上安装 PHP 和 Composer,无需 XAMPP 或 MAMP

发布于2024-11-03
浏览:883

Install PHP and composer in local machine without XAMPP or MAMP

在计算机上安装 PHP 和 Composer 的综合指南

PHP 是最流行的服务器端脚本语言之一,广泛用于 Web 开发。另一方面,Composer 是 PHP 的依赖关系管理器,可以简化项目中的库和包的管理。在本指南中,我们将逐步介绍在您的计算机上本地安装 PHP 和 Composer 的步骤,重点介绍这种方法相对于使用 XAMPP 或 MAMP 等捆绑解决方案的优势。

先决条件

在我们开始之前,请确保您的系统满足以下要求:

  • 有效的互联网连接。
  • 您计算机上的管理权限。

第 1 步:安装 PHP

原生安装 PHP 可以提供更好的性能,并且是一种更专业的方法,特别是对于生产环境。以下是跨不同操作系统执行此操作的方法:

在 Windows 上

  1. 下载 PHP:

    • 访问 PHP 下载页面并下载最新版本的 PHP。为您的系统选择适当的版本(线程安全)。
  2. 提取PHP:

    • 将下载的 ZIP 文件解压到您选择的目录,例如 C:\php。
  3. 配置环境变量:

    • 打开系统属性(右键单击“此电脑”>“属性”>“高级系统设置”)。
    • 单击“环境变量”。
    • 在“系统变量”下,找到“Path”变量并单击“编辑”。
    • 添加 PHP 目录的路径(例如 C:\php)。
  4. 验证安装:

    • 打开命令提示符并输入 php -v。您应该会看到显示的 PHP 版本。

在 macOS 上

  1. 安装Homebrew(如果未安装):

    • 打开终端并运行以下命令:
     /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. 安装PHP:

    • 在终端中运行以下命令:
     brew install php
    
  3. 验证安装:

    • 安装后,检查 PHP 版本:
     php -v
    

在 Linux 上

  1. 更新包索引:

    • 打开终端并运行:
     sudo apt update
    
  2. 安装PHP:

    • 对于 Ubuntu,运行:
     sudo apt install php
    
  • 对于 CentOS,运行:

     sudo yum install php
    
  1. 验证安装:

    • 检查PHP版本:
     php -v
    

为什么要原生安装?

虽然 XAMPP 和 MAMP 等工具提供了设置开发环境的便捷方法,但它们可能会带来不必要的开销和复杂性。本机安装通常更高效,可以实现更好的资源管理、性能调整以及对 PHP 环境更精细的了解。

第 2 步:安装 Composer

Composer 可以全局安装,允许您管理所有 PHP 项目的依赖关系。

在 Windows 上

  1. 下载 Composer 安装程序:

    • 访问 Composer 下载页面并下载 Composer-Setup.exe 文件。
  2. 运行安装程序:

    • 执行下载的文件并按照说明进行操作。它会自动检测您的 PHP 安装。
  3. 验证安装:

    • 打开命令提示符并键入:
     composer -V
    

在 macOS 和 Linux 上

  1. 下载作曲家:

    • 打开终端并运行以下命令:
     curl -sS https://getcomposer.org/installer | php
    
  2. 将 Composer 移至全局目录:

    • 下载后,将 Composer 移动到 PATH 中的目录:
     sudo mv composer.phar /usr/local/bin/composer
    
  3. 验证安装:

    • 检查Composer版本:
     composer -V
    

结论

您已经在您的机器上成功安装了 PHP 和 Composer!通过选择本机安装,您可以确保更好的性能和更专业的设置。 Composer 将允许您轻松管理库和依赖项,使您的项目保持井井有条并保持最新状态。

请随意探索官方文档以获取更高级的用法和最佳实践:

  • PHP 文档
  • 作曲家文档

编码愉快!


请随意评论文章的任何部分!

版本声明 本文转载于:https://dev.to/mustafa-sabah/install-php-and-composer-in-local-machine-without-xampp-or-mamp-1170?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • PHP SimpleXML解析带命名空间冒号的XML方法
    PHP SimpleXML解析带命名空间冒号的XML方法
    在php 很少,请使用该限制很大,很少有很高。例如:这种技术可确保可以通过遍历XML树和使用儿童()方法()方法的XML树和切换名称空间来访问名称空间内的元素。
    编程 发布于2025-07-12
  • Java字符串非空且非null的有效检查方法
    Java字符串非空且非null的有效检查方法
    检查字符串是否不是null而不是空的 if(str!= null && str.isementy())二手: if(str!= null && str.length()== 0) option 3:trim()。isement(Isement() trim whitespace whitesp...
    编程 发布于2025-07-12
  • 如何检查对象是否具有Python中的特定属性?
    如何检查对象是否具有Python中的特定属性?
    方法来确定对象属性存在寻求一种方法来验证对象中特定属性的存在。考虑以下示例,其中尝试访问不确定属性会引起错误: >>> a = someClass() >>> A.property Trackback(最近的最新电话): 文件“ ”,第1行, AttributeError: SomeClass...
    编程 发布于2025-07-12
  • Python读取CSV文件UnicodeDecodeError终极解决方法
    Python读取CSV文件UnicodeDecodeError终极解决方法
    在试图使用已内置的CSV模块读取Python中时,CSV文件中的Unicode Decode Decode Decode Decode decode Error读取,您可能会遇到错误的错误:无法解码字节 在位置2-3中:截断\ uxxxxxxxx逃脱当CSV文件包含特殊字符或Unicode的路径逃...
    编程 发布于2025-07-12
  • 解决MySQL插入Emoji时出现的\\"字符串值错误\\"异常
    解决MySQL插入Emoji时出现的\\"字符串值错误\\"异常
    Resolving Incorrect String Value Exception When Inserting EmojiWhen attempting to insert a string containing emoji characters into a MySQL database us...
    编程 发布于2025-07-12
  • 为什么不````''{margin:0; }`始终删除CSS中的最高边距?
    为什么不````''{margin:0; }`始终删除CSS中的最高边距?
    在CSS 问题:不正确的代码: 全球范围将所有余量重置为零,如提供的代码所建议的,可能会导致意外的副作用。解决特定的保证金问题是更建议的。 例如,在提供的示例中,将以下代码添加到CSS中,将解决余量问题: body H1 { 保证金顶:-40px; } 此方法更精确,避免了由全局保证金重置引...
    编程 发布于2025-07-12
  • 如何使用Depimal.parse()中的指数表示法中的数字?
    如何使用Depimal.parse()中的指数表示法中的数字?
    在尝试使用Decimal.parse(“ 1.2345e-02”中的指数符号表示法表示的字符串时,您可能会遇到错误。这是因为默认解析方法无法识别指数符号。 成功解析这样的字符串,您需要明确指定它代表浮点数。您可以使用numbersTyles.Float样式进行此操作,如下所示:[&& && && ...
    编程 发布于2025-07-12
  • Java的Map.Entry和SimpleEntry如何简化键值对管理?
    Java的Map.Entry和SimpleEntry如何简化键值对管理?
    A Comprehensive Collection for Value Pairs: Introducing Java's Map.Entry and SimpleEntryIn Java, when defining a collection where each element com...
    编程 发布于2025-07-12
  • 如何正确使用与PDO参数的查询一样?
    如何正确使用与PDO参数的查询一样?
    在pdo 中使用类似QUERIES在PDO中的Queries时,您可能会遇到类似疑问中描述的问题:此查询也可能不会返回结果,即使$ var1和$ var2包含有效的搜索词。错误在于不正确包含%符号。通过将变量包含在$ params数组中的%符号中,您确保将%字符正确替换到查询中。没有此修改,PDO...
    编程 发布于2025-07-12
  • 在JavaScript中如何并发运行异步操作并正确处理错误?
    在JavaScript中如何并发运行异步操作并正确处理错误?
    同意操作execution 在执行asynchronous操作时,相关的代码段落会遇到一个问题,当执行asynchronous操作:此实现在启动下一个操作之前依次等待每个操作的完成。要启用并发执行,需要进行修改的方法。 第一个解决方案试图通过获得每个操作的承诺来解决此问题,然后单独等待它们: co...
    编程 发布于2025-07-12
  • 左连接为何在右表WHERE子句过滤时像内连接?
    左连接为何在右表WHERE子句过滤时像内连接?
    左JOIN CONUNDRUM:WITCHING小时在数据库Wizard的领域中变成内在的加入很有趣,当将c.foobar条件放置在上面的Where子句中时,据说左联接似乎会转换为内部连接。仅当满足A.Foo和C.Foobar标准时,才会返回结果。为什么要变形?关键在于其中的子句。当左联接的右侧值...
    编程 发布于2025-07-12
  • 在UTF8 MySQL表中正确将Latin1字符转换为UTF8的方法
    在UTF8 MySQL表中正确将Latin1字符转换为UTF8的方法
    在UTF8表中将latin1字符转换为utf8 ,您遇到了一个问题,其中含义的字符(例如,“jáuòiñe”)在utf8 table tabled tablesset中被extect(例如,“致电。为了解决此问题,您正在尝试使用“ mb_convert_encoding”和“ iconv”转换受...
    编程 发布于2025-07-12
  • 人脸检测失败原因及解决方案:Error -215
    人脸检测失败原因及解决方案:Error -215
    错误处理:解决“ error:( - 215)!empty()in Function openCv in Function MultSiscale中的“检测”中的错误:在功能检测中。”当Face Cascade分类器(即面部检测至关重要的组件)未正确加载时,通常会出现此错误。要解决此问题,必须...
    编程 发布于2025-07-12
  • 为什么使用Firefox后退按钮时JavaScript执行停止?
    为什么使用Firefox后退按钮时JavaScript执行停止?
    导航历史记录问题:JavaScript使用Firefox Back Back 此行为是由浏览器缓存JavaScript资源引起的。要解决此问题并确保在后续页面访问中执行脚本,Firefox用户应设置一个空功能。 警报'); }; alert('inline Alert')...
    编程 发布于2025-07-12
  • 如何使用FormData()处理多个文件上传?
    如何使用FormData()处理多个文件上传?
    )处理多个文件输入时,通常需要处理多个文件上传时,通常是必要的。 The fd.append("fileToUpload[]", files[x]); method can be used for this purpose, allowing you to send multi...
    编程 发布于2025-07-12

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3