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

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

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

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]删除
最新教程 更多>
  • 表单刷新后如何防止重复提交?
    表单刷新后如何防止重复提交?
    在Web开发中预防重复提交 在表格提交后刷新页面时,遇到重复提交的问题是常见的。要解决这个问题,请考虑以下方法: 想象一下具有这样的代码段,看起来像这样的代码段:)){ //数据库操作... 回声“操作完成”; 死(); } ?> ...
    编程 发布于2025-05-09
  • 如何简化PHP中的JSON解析以获取多维阵列?
    如何简化PHP中的JSON解析以获取多维阵列?
    php 试图在PHP中解析JSON数据的JSON可能具有挑战性,尤其是在处理多维数组时。 To simplify the process, it's recommended to parse the JSON as an array rather than an object.To do...
    编程 发布于2025-05-09
  • 编译器报错“usr/bin/ld: cannot find -l”解决方法
    编译器报错“usr/bin/ld: cannot find -l”解决方法
    错误:“ usr/bin/ld:找不到-l “ 此错误表明链接器在链接您的可执行文件时无法找到指定的库。为了解决此问题,我们将深入研究如何指定库路径并将链接引导到正确位置的详细信息。添加库搜索路径的一个可能的原因是,此错误是您的makefile中缺少库搜索路径。要解决它,您可以在链接器命令中添加...
    编程 发布于2025-05-09
  • 如何使用Regex在PHP中有效地提取括号内的文本
    如何使用Regex在PHP中有效地提取括号内的文本
    php:在括号内提取文本在处理括号内的文本时,找到最有效的解决方案是必不可少的。一种方法是利用PHP的字符串操作函数,如下所示: 作为替代 $ text ='忽略除此之外的一切(text)'; preg_match('#((。 &&& [Regex使用模式来搜索特...
    编程 发布于2025-05-09
  • Java中如何使用观察者模式实现自定义事件?
    Java中如何使用观察者模式实现自定义事件?
    在Java 中创建自定义事件的自定义事件在许多编程场景中都是无关紧要的,使组件能够基于特定的触发器相互通信。本文旨在解决以下内容:问题语句我们如何在Java中实现自定义事件以促进基于特定事件的对象之间的交互,定义了管理订阅者的类界面。以下代码片段演示了如何使用观察者模式创建自定义事件: args)...
    编程 发布于2025-05-09
  • 在Ubuntu/linux上安装mysql-python时,如何修复\“ mysql_config \”错误?
    在Ubuntu/linux上安装mysql-python时,如何修复\“ mysql_config \”错误?
    mysql-python安装错误:“ mysql_config找不到”“ 由于缺少MySQL开发库而出现此错误。解决此问题,建议在Ubuntu上使用该分发的存储库。使用以下命令安装Python-MysqldB: sudo apt-get安装python-mysqldb sudo pip in...
    编程 发布于2025-05-09
  • eval()vs. ast.literal_eval():对于用户输入,哪个Python函数更安全?
    eval()vs. ast.literal_eval():对于用户输入,哪个Python函数更安全?
    称量()和ast.literal_eval()中的Python Security 在使用用户输入时,必须优先确保安全性。强大的Python功能Eval()通常是作为潜在解决方案而出现的,但担心其潜在风险。 This article delves into the differences betwee...
    编程 发布于2025-05-09
  • Spark DataFrame添加常量列的妙招
    Spark DataFrame添加常量列的妙招
    在Spark Dataframe ,将常数列添加到Spark DataFrame,该列具有适用于所有行的任意值的Spark DataFrame,可以通过多种方式实现。使用文字值(SPARK 1.3)在尝试提供直接值时,用于此问题时,旨在为此目的的column方法可能会导致错误。 df.withco...
    编程 发布于2025-05-09
  • Go web应用何时关闭数据库连接?
    Go web应用何时关闭数据库连接?
    在GO Web Applications中管理数据库连接很少,考虑以下简化的web应用程序代码:出现的问题:何时应在DB连接上调用Close()方法?,该特定方案将自动关闭程序时,该程序将在EXITS EXITS EXITS出现时自动关闭。但是,其他考虑因素可能保证手动处理。选项1:隐式关闭终止数...
    编程 发布于2025-05-09
  • 如何将PANDAS DataFrame列转换为DateTime格式并按日期过滤?
    如何将PANDAS DataFrame列转换为DateTime格式并按日期过滤?
    Transform Pandas DataFrame Column to DateTime FormatScenario:Data within a Pandas DataFrame often exists in various formats, including strings.使用时间数据时...
    编程 发布于2025-05-09
  • 为什么HTML无法打印页码及解决方案
    为什么HTML无法打印页码及解决方案
    无法在html页面上打印页码? @page规则在@Media内部和外部都无济于事。 HTML:Customization:@page { margin: 10%; @top-center { font-family: sans-serif; font-weight: bo...
    编程 发布于2025-05-09
  • 如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    postgresql:为每个唯一标识符在postgresql中提取最后一行,您可能需要遇到与数据集合中每个不同标识的信息相关的信息。考虑以下数据:[ 1 2014-02-01 kjkj 在数据集中的每个唯一ID中检索最后一行的信息,您可以在操作员上使用Postgres的有效效率: id dat...
    编程 发布于2025-05-09
  • 如何从PHP中的Unicode字符串中有效地产生对URL友好的sl。
    如何从PHP中的Unicode字符串中有效地产生对URL友好的sl。
    为有效的slug生成首先,该函数用指定的分隔符替换所有非字母或数字字符。此步骤可确保slug遵守URL惯例。随后,它采用ICONV函数将文本简化为us-ascii兼容格式,从而允许更广泛的字符集合兼容性。接下来,该函数使用正则表达式删除了不需要的字符,例如特殊字符和空格。此步骤可确保slug仅包含...
    编程 发布于2025-05-09
  • 如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    How to Resolve "General error: 2006 MySQL server has gone away" While Inserting RecordsIntroduction:Inserting data into a MySQL database can...
    编程 发布于2025-05-09
  • Python中何时用"try"而非"if"检测变量值?
    Python中何时用"try"而非"if"检测变量值?
    使用“ try“ vs.” if”来测试python 在python中的变量值,在某些情况下,您可能需要在处理之前检查变量是否具有值。在使用“如果”或“ try”构建体之间决定。“ if” constructs result = function() 如果结果: 对于结果: ...
    编程 发布于2025-05-09

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

Copyright© 2022 湘ICP备2022001581号-3