前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 CentOS 8 上安装和使用 Composer创建PHP项目

如何在 CentOS 8 上安装和使用 Composer创建PHP项目

原创
作者头像
小颖club
发布2022-04-11 13:46:02
1.2K0
发布2022-04-11 13:46:02
举报
文章被收录于专栏:建站技术博客建站技术博客

Composer 是一种工具,可让您更好地组织用 PHP 开发的项目所使用的依赖项。除了轻松安装第三方库之外,Composer 还提供了几个命令来检查和安装任何更新、删除不必要的依赖项等等。

在本教程中,您将学习如何通过 Composer 创建一个新项目,将 monolog 库安装为依赖项,并在您的 CentOS 8 服务器上验证其功能是否正确。 首先,通过 SSH 连接连接到您的服务器。如果您还没有这样做,建议按照我们的指南? 使用 SSH 协议安全连接。如果是本地服务器,请转到下一步并打开服务器的终端。

安装带有 PHP 支持的 Apache

为了使用 PHP 和 Composer,首先,在您的服务器上安装支持 PHP 的 Apache。

继续通过以下方式更新系统包:

代码语言:javascript
复制
yum install update -y

然后,通过以下命令安装并启动 Apache:

代码语言:javascript
复制
yum install httpd -y
    
systemctl start httpd.service

操作完成后,通过浏览器访问服务器的 IP 地址,您应该会看到以下内容:

HTTP:// [SERVER_IP_ADDRESS] /

如果一切正常,继续安装 PHP 包:

代码语言:javascript
复制
yum install php -y

然后,重启apache服务:

代码语言:javascript
复制
systemctl restart httpd.service

完成后,通过在 Apache 根目录中创建一个“test.php”文件来验证您的安装是否正确:

代码语言:javascript
复制
echo "{C}" >>  /var/www/html/index.php

通过访问您的服务器的 IP 地址,您现在应该会看到以下内容:

安装Composer

首先,进入 Apache Web 服务器的主目录:

代码语言:javascript
复制
cd /var/www/html/

然后,通过以下命令继续安装 Composer:

代码语言:javascript
复制
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"

如果您遇到任何问题,建议按照Composer 官方网站上的说明进行操作。

如果安装成功,应该在目录中找到一个名为 composer.phar 的新文件:

代码语言:javascript
复制
ls -lt
    
-rwxr-xr-x. 1 root root 1994167 Aug 27 06:40 composer.phar
-rw-r--r--. 1 root root      20 Aug 27 06:21 index.php

此时,通过 PHP 调用 Composer 开始使用 Composer,例如:

代码语言:javascript
复制
php composer.phar -v

但是,在本指南中,全局安装是通过以下命令执行的:

代码语言:javascript
复制
mv composer.phar /usr/local/bin/composer

这样可以通过命令更方便的调用:

代码语言:javascript
复制
composer -v 

使用 Composer 创建项目

通过在 /var/www/html 目录中运行以下命令,继续为您的应用程序创建一个基本项目:

代码语言:javascript
复制
composer init

您将被要求提供一系列信息,例如项目的名称和作者:

代码语言:javascript
复制
Package name (/) [root/root]: aruba/comp-test
Description []:
Author [, n to skip]: n
Minimum Stability []:
Package Type (e.g. library, project, metapackage, composer-plugin) []: project
License []:

稍后,Composer 会询问您是否要在此阶段直接定义依赖项。现在,回答“不”:

代码语言:javascript
复制
Define your dependencies.
    
    Would you like to define your dependencies (require) interactively [yes]? no
    Would you like to define your dev dependencies (require-dev) interactively [yes]? no
    
    {
        "name": "aruba/comp-test",
        "type": "project",
        "require": {}
    }

然后,确认刚刚输入的数据:

代码语言:javascript
复制
Do you confirm generation [yes]? yes

Composer 将使用刚刚输入的信息来准备当前文件夹内的 composer.json 文件。该文件不仅包含上面写的信息,还用于包含项目及其依赖项的不同元数据。

使用依赖项

要安装任何依赖项,只需使用 Composer 'require' 命令。

通过 Composer 安装的所有库都将保存在我们项目的“vendor”目录中,并存储在 composer.json 文件中。

在本教程独白中,将使用一个能够管理日志文件的库。要安装它,只需运行:

代码语言:javascript
复制
composer require monolog/monolog

Y “index.php”文件可以稍后更新为以下列表:

代码语言:javascript
复制
<?php
    
    // Recall the outloading of the classes
    require __DIR__ . '/vendor/autoload.php';
    
    // Prepare a new logger
    $log = new Monolog\Logger('name');
    
    // Create a new log file ‘app.log’ in the current directory
    $log--->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
    
    //Save an example text
    $log->addWarning('Test monolog');

保存刚刚编辑的文件,然后从命令行运行它:

代码语言:javascript
复制
php index.php

如果一切正常,将在目录中找到新的日志文件“app.log”:

代码语言:javascript
复制
cat app.log
    
    [2020-08-27 12:09:35] name.WARNING: Test monolog [] []

添加了 composer.lock 文件

使用“install”命令安装项目时,Composer 会检查“composer.lock”文件是否存在。

如果文件不存在,这是项目的第一次安装。在这种情况下,Composer 将在“vendor”文件夹中安装由 composer.json 文件指示的所有依赖项及其最新可用版本。

完成后,它将每个下载的依赖项的所有版本号保存在一个新的 composer.lock 文件中,以便同一项目的其他安装可以使用创建该项目的相同版本。

另一方面,如果该文件已经存在于当前目录中,Composer 将下载 composer.json 文件中指定的依赖项,但使用 composer.lock 文件中指示的版本号。

如果您的项目使用软件修订工具,建议在存储库中不仅要保存 composer.json 文件,还要保存上面提到的 composer.lock 文件。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装带有 PHP 支持的 Apache
  • 安装Composer
  • 使用 Composer 创建项目
  • 使用依赖项
  • 添加了 composer.lock 文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com