【PHP入门教程】PHPStudy环境搭建+composer创建项目

news2024/9/19 10:39:29

文章目录

  • PHP 的历史
  • PHP 的用途
  • PHP 的特点和优势
  • PHP 环境搭建
  • 环境准备安装
    • window 安装
    • `CentOS` / `Ubuntu` / `Debian` 安装
  • 第一个Hello World
    • 使用Apache服务运行
    • 命令行运行代码
  • Composer
    • 安装 Composer:
    • 安装途中报错解决:
    • 初始化项目
    • 创建文件
    • 最终文件目录
    • Composer 常用命令
    • 镜像设置

PHP 的历史

PHP(Hypertext Preprocessor)超文本预处理器是一种开源的通用脚本语言,主要用于Web开发。它最初由Rasmus Lerdorf在1995年创建,用于跟踪他的个人网站访问者。随着时间的推移,PHP已经发展成为一个功能强大的服务器端脚本语言。

PHP 的用途

PHP广泛用于Web开发,可以生成动态页面内容。它支持Web开发中的各种任务,包括:

  • 创建动态网站和Web应用程序
  • 与数据库交互
  • 管理用户会话和身份验证
  • 处理表单数据等

PHP 的特点和优势

  • 跨平台:PHP可以在多种操作系统上运行,如Windows、Linux、Unix等。
  • 易于学习:对于初学者来说,PHP的语法简单直观。
  • 开源:PHP是免费的,拥有庞大的开发者社区和丰富的资源。
  • 广泛的数据库支持:PHP可以与MySQL、PostgreSQL、SQLite等多种数据库进行交互。
  • 高性能:PHP 7及更新版本在性能上有了显著提升。

PHP 环境搭建

要在本地计算机上运行PHP代码,你需要一个具有PHP解释器的Web服务器环境。常见的环境搭建工具有:

  • PHPStudy(跨平台)
  • WAMP(Windows)
  • MAMP(Mac)
  • XAMPP(跨平台)

环境准备安装

我们就选 PHPStudy 为例,因为使用得多,又跨平台

window 安装

  • 官方地址

在这里插入图片描述

CentOS / Ubuntu / Debian 安装

使用官方命令安装
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第一个Hello World

PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。
PHP 文件的默认文件扩展名是.php
PHP 脚本以 <?php 开始,以 ?> 结束:

模板示例:

<?php
// PHP 代码
?>

  1. 创建helloworld.php 文件
<!DOCTYPE html>
<html>
<body>

<h1>My first PHP page</h1>

<?php
echo "Hello World!";
?>

</body>
</html>

使用Apache服务运行

步骤:

  1. 使用apache服务,将helloworld.php 文件 放到 phpstudy 安装目录的 www文件夹下,启动服务
  2. 访问http://localhost/helloworld.php , 如果有端口,需要把端口加上
    在这里插入图片描述
    在这里插入图片描述

命令行运行代码

这里需要将 \phpstudy_pro\Extensions\php\php7.3.4nts路径配置成环境变量,这样就能在全局使用 php 命令了

在这里插入图片描述

运行命令,查看效果

php helloworld.php

在这里插入图片描述

Composer

Composer 是 PHP 的依赖管理工具,用于自动化和简化在 PHP 项目中引入和管理库(或依赖)的过程。以下是使用 Composer 的基本步骤:

安装 Composer:

  • 访问 Composer 官网 下载安装程序或使用命令行工具安装。
  • 在 Windows 上,可以下载安装程序并运行。
  • 在 Linux 或 Mac 上,可以通过 curl 或 wget 下载并执行安装脚本。
    在这里插入图片描述
    在这里插入图片描述

安装途中报错解决:

The Windows OneDrive folder is not supported on PHP versions below 7.2.23 and 7.3.10. Upgrade your PHP (7.3.4) to use this location with Composer. ,解决方法禁用Onedrive

  • Win10如何永久关闭Onedrive 怎么禁用Onedrive
    在这里插入图片描述

初始化项目

  • 在你的 PHP 项目根目录下,运行 composer init 来创建一个基础的 composer.json 文件。
    在这里插入图片描述

  • 使用 composer require <package> 命令添加依赖到你的项目。例如,composer require monolog/monolog 会添加 Monolog 日志库作为依赖。
    在这里插入图片描述

  • 自动加载

    • Composer 会生成一个自动加载脚本(通常在 vendor/autoload.php),确保你的代码可以自动加载依赖。
  • 配置 Composer

    • 你可以在 composer.json 文件中配置额外的设置,如自动加载规则、脚本、仓库等。
  • 使用 Composer.lock

    • composer.lock 文件用于锁定依赖的版本,确保在不同环境中安装一致的依赖版本。

创建文件

在文件目录中中创建src/index.php 文件,文件内容如下

<?php
echo 'Hello, World!';
?>

运行项目

php -S localhost:8080

在浏览器输入 http://localhost:8080/src/index.php ,

在这里插入图片描述

最终文件目录

在这里插入图片描述

Composer 常用命令

下面是一些 Composer 的常用命令,以表格形式列出:

命令描述
composer install安装 composer.json 中定义的所有依赖。
composer update更新所有依赖到最新版本,同时遵守版本约束。
composer require <package>添加一个新的依赖项到 composer.json 并安装它。
composer remove <package>composer.json 中移除一个依赖项并卸载它。
composer show显示所有已安装的依赖项。
composer show --tree以树状图形式显示依赖关系。
composer search <query>在 Packagist 上搜索包。
composer dump-autoload生成或更新自动加载文件。
composer check-platform-reqs检查平台要求是否满足。
composer clear-cache清除 Composer 的缓存。
composer config查看或修改全局或项目配置。
composer create-project <package>创建一个新的项目,并使用指定的包作为基础。
composer global require <package>将包安装到全局 Composer 目录。
composer global show列出全局安装的所有包。
composer run-script <script-name>运行 composer.json 中定义的脚本。
composer validate验证 composer.jsoncomposer.lock 文件的格式。
composer version <version>更新项目版本。
composer help <command>显示指定命令的帮助信息。

Composer 的强大之处在于其社区包仓库 Packagist,它提供了成千上万的 PHP 库供开发者使用。通过 Composer,你可以轻松地将这些库集成到你的项目中。

镜像设置

删除之前的镜像

composer config -g --unset repos.packagist

修改镜像

composer config -g repo.packagist composer https://packagist.org

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2073491.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记录练习reserve(强网先锋ADmingyue)

1.强网 64位无壳&#xff0c;ida拖入。 复制qiangwangxianfengjiushini到v6缓冲区&#xff0c;拷贝ZmxhZ3ttYWZha3VhaWxhaXFpYW5kYW9ifQ前36个字符(正好是36)到v5缓冲区&#xff0c;因为存在“”符号&#xff0c;应该是base64&#xff0c;下文for循环遍历v4与v5的每个字符(即解…

k8s跨节点后pod无法访问

场景 k8s在node1节点部署nginx后&#xff0c; 除node1外&#xff0c;主节点以及node2节点都无法正常访问nginx 并且主节点以及node2节点都无法ping通node1节点上的pod 网络插件为calico 并且也没有相关路由信息 解决方案 启动tunl0接口&#xff0c;因为calico需要使用tunl0网…

Wireshark_UDP_v7.0

Wireshark_UDP_v7.0 就随便在浏览器上访问点什么&#xff0c;然后抓包&#xff0c;过滤输入udp&#xff0c;然后回答问题。 本来试的哔哩哔哩视频和在线扫雷&#xff0c;emmm没有udp&#xff0c;最后还是得原神启动 source port、destination port、length、checksum source…

【力扣】地下城游戏

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 恶魔们抓住了公…

SQLSugar入门篇:快速上手与基础概念

文章目录 前言一、框架简介二、环境搭建与安装1.net core和.net5/.net6/.net7/.net8/.net9环境2.net framework4.6 环境 三、环境搭建与安装1.对象说明2.原生模式&#xff1a;SqlSugarClient3.单例模式&#xff1a;SqlSugarScope4.多库用法5.连接参数 四、实体类映射1.实体使用…

大数据技术之Flume事务及内部原理(3)

目录 Flume Agent 架构概述 Flume Agent 内部工作流程 Flume Agent 的配置 Flume Agent内部重要组件 ChannelSelector SinkProcessor Apache Flume 是一个分布式的、可靠的、可用的服务&#xff0c;用于有效地收集、聚合和移动大量日志数据。它具有简单灵活的架构&#x…

C语言典型例题51

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 例题4.3 while循环与do……while循环的比较 代码&#xff1a; &#xff08;1&#xff09;while语句 #include <stdio.h> int main() {int sum0;// char ch;while(1){sum0;//每一次输入结束后数的和重置int …

31套科技风PPT免费分享

目录 部分展示 部分展示 #PPT下载 「科技风模板」链接&#xff1a;https://pan.quark.cn/s/fb2f39a1d343 链接永久有效&#xff0c;点击这里下载&#xff0c;记得给个赞哦

odoo17 Field 没有invisible属性?

odoo17 Field dmszhzh.zzfile.save_type 没有invisible属性 错误提示如下&#xff1a; WARNING sd0003 odoo.fields: Field dmszhzh.zzfile.save_type: unknown parameter invisible, if this is an actual parameter you may want to override the method _valid_field_par…

MSSQL 工具注入(第一关)

简介 SQL注入是一种安全漏洞&#xff0c;通过它可以执行意外的SQL命令或访问数据库中的信息。MSSQL注入通常发生在应用程序将用户输入作为SQL查询的一部分执行时&#xff0c;而没有对输入进行适当的验证或清理。 以下是MSSQL手工注入的流程&#xff1a; 一、打开靶场选择第一关…

Kafka的生产者和消费者机制

目录 1.基础的客户端 1.1消息发送者的主流程 1.2消息消费者主流程 2.客户端工作机制 2.1消费者分组消费机制 2.2生产者拦截器机制 2.3消息序列化机制 2.4消息分区路由机制 2.5生产者消息缓存机制 2.6发送应答机制 2.7生产者消息幂等性 (1)生产者消息幂等性介绍 (2…

浅谈【数据结构】链表之单链表

目录 1、什么是数据&#xff1f; 2、什么是结构 3、什么是数据结构&#xff1f; 4、线性结构(线性表&#xff09; 4.1线性表的物理结构的实现 5、链表 5.1无头结点的单链表 5.2新内容、老面孔 5.3数组和链表的优缺点 5.4链表的概念 5.5链表的创建步骤 5.5.1创建过程…

【Linux】自动化构建工具makefile

目录 背景 makefile简单编写 .PHONY makefile中常用选项 makefile的自动推导 背景 会不会写makefile&#xff0c;从一个侧面说明了一个人是否具备完成大型工程的能力 ​ ◉ 一个工程中的源文件不计数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;mak…

MyBatis框架搭建与代码解读

前言: MyBatis是一个灵活的持久层框架&#xff0c;适合与数据库交互&#xff0c;支持自定义SQL和高级映射。搭建MyBatis的基本步骤包括&#xff1a; 环境准备&#xff1a;安装JDK、Maven和IDE。创建项目&#xff1a;建立Maven项目并设置基本信息。添加依赖&#xff1a;在pom.…

「Python数据分析」Pandas进阶,利用concat()函数连接数据(一)

在我们迈向中高级出局数据分析的过程中&#xff0c;数据的合并和连接&#xff0c;是一个非常重要的技能。 现实中&#xff0c;分散在各种数据库&#xff0c;各种数据表格&#xff0c;各种数据存储设备当中的&#xff0c;各式各样的数据&#xff0c;是我们进行数据分析的基础&a…

泛微开发修炼之旅--42Ecology大日志查看软件LogView Pro及教程

我们在项目上经常要看ecology的日志信息&#xff0c;当日志达到几百兆或者时几个G的时候&#xff0c;想要查看日志并且非常方便搜索日志中的信息&#xff0c;并不容易。 今天给大家大日志工具和教程&#xff0c;在附件中&#xff0c;各位自取吧&#xff01; 文章链接&#xff…

老师如何制作分班查询系统?

随着新学期的钟声敲响&#xff0c;老师们又迎来了一年中最忙碌的时期。不仅要处理日常的教学准备工作&#xff0c;还要面对一项重要而繁琐的任务——新生分班。分班完成后&#xff0c;老师们还需要将分班结果及时准确地通知给每一位家长&#xff0c;确保信息的传递无误。这项工…

epoll+线程池模型

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 负载均衡技术 …

AI工具 GPT 学术优化 (GPT Academic) 安装实践

GPT 学术优化 (GPT Academic)是一个综合的AI GPT工具包&#xff0c;可以完成各种gpt辅助的工作&#xff0c;比如代码解读、翻译、读论文等功能。官网&#xff1a;GitHub - binary-husky/gpt_academic: 为GPT/GLM等LLM大语言模型提供实用化交互接口&#xff0c;特别优化论文阅读…

Flutter 自动化测试 -appium-flutter-driver

上篇文章有讲述如何通过FlutterDriver实现集成测试Flutter 应用自动化测试-集成测试篇 不熟悉的小伙伴可以先去看看。 什么是Appium Flutter Driver&#xff1f; 作为Flutter开发&#xff0c;FlutterDriver是足够帮助他们进行测试的&#xff0c;而作为自动化测试工程师最大的困…