超详细搭建PhpStorm+PhpStudy开发环境

news2025/1/9 17:13:19

刚开始接触PHP开发,搭建开发环境是第一步,网上下载PhpStorm和PhpStudy软件,怎样安装和激活就不详细说了,我们重点来看一看怎样搭配这两个开发环境。

前提:现在假设你已经安装完PhpStorm和PhpStudy软件。

我的PhpStorm使用的是默认安装目录,这个没什么疑问的,PhpStudy软件我选择解压的目录是G:\Program Files\ 。

在PhpStudy软件的解压目录下的www文件夹就是我们的网站根目录。

现在我们使用PhpStorm新建一个新工程。

**第一步:**打开PhpStorm软件,点击创建新项目,在输入框填写项目名称,项目存放地址,项目类型信息。

这里我的配置信息看上图。填写完点击确定。

第二步:设置PHP项目的版本信息

这里我选择的level是PHP5.6

Interpreter现在默认是没有的,我们要先配置一下。

点击在Interpreter的选择框旁边的按钮,跳转到的界面如下图:

默认没配置过的左手边的框里面是空白的,我已经配置过了,所以现在左手边有了两个Interpreter版本,现在我们要新建一个Interpreter,点击1位置的按钮添加Interpreter,在2的位置填写这个Interpreter的名称,位置3是我们要设置的php.exe文件位置,点击右手边的"…",在弹出的对话框中选择我们Phpstudy的php.exe文件位置(Phpstudy帮我们集成了php)。

配置完成之后点击确定。现在我们回到前一个界面,点击下拉就可以看到我们刚才配置的Interpreter。

这里选上其中一个,看你要使用什么版本咯。再点击确定,这时候创建新工程就完成了。

第三步:新建php文件

现在我们的工程是没有文件的,需要我们新建网页文件。选中项目文件右键–>新建,可以看到有好几种文件格式:

我新建了两个文件如下图:

文件的内容如下:

form.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>PHP处理表单2</title>
</head>
<body>
<form action="welcome.php" method="post">
    名字: <input type="text" name="fname">
    年龄: <input type="text" name="age">
    <input type="submit" value="提交">
</form>
</body>

welcome.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>$_POST获取表单post信息</title>
</head>
<body>
<?php
echo "欢迎".$_POST["fname"]."!<br/>";
echo "你的年龄是".$_POST["age"]."岁。";
?>
</body>
</html>

现在打开form.html文件,鼠标点击文件内容的任意地方,会有个悬浮框出现:

这个是可以选择打开form.html文件的浏览器,我们选择其中一个可以看看form.html文件的显示效果,其实只是一个简单的表单:

重点来了,也是我写这篇博客的目的,我们填写表单信息之后点击“提交”按钮,我们要实现的效果是跳转到welcome.php页面,并显示form.html页面我们填写的名字和年龄信息 。问题来了,跳转之后浏览器显示“文件找不到”。这就郁闷了,为什么form.html文件也可以打开,而welcome.php文件跟form.html文件都是放同一级目录下的啊,怎么会找不到呢,折腾了一天,终于发现问题了,原来我编辑的只是本地文件,至于form.html文件能打开是因为Phpstorm软件自动帮我们把文件使用本地服务器打开所以能找到,而welcome.php文件我们并没有提交到本地服务器上。

下面是解决方式(主要是配置本地服务器);

步骤一:配置本地服务器

选择:工具–>Deployment–>Configuration

初次是没有任何配置信息的:

我们点击“+”添加服务器配置,在弹出框中选择“Local or mounted folder”:

下面的配置很重要,关乎文件能否正常被找到,添加完服务器之后我们就要配置文件的位置了:

选择 “Connection”,位置3就是刚才我们选择的服务器类型,关键是位置4和5。

“Upload/download project files”意思是上传或下载的文件目录 ,这里很关键,因为我们使用的是PhpStudy,PhpStudy有自己的网站目录,这里我设置的是PhpStudy的网站根目录,就是我们之前PhpStudy解压的位置G:\Program Files\phpStudy\WWW,待会就知道这个目录位置有什么用了。

“Browse files on server” 意思是服务器项目的访问地址(就是用浏览器可以打开项目页面的链接地址),这里可以写成PhpStudy的根地址“http://localhost/”,后面可以再指定具体的文件位置。

选择“Mappings”,如下图配置:

这里注意位置2是被选上的,成灰色不可点击。

位置3就是项目源文件的地址,我的项目文件是放在“G:\Php-workspace\MyTest”目录下。

位置4是项目在本地服务器的详细文件夹位置(相对于我们在 “Connection”设置的“Upload/download project files”位置,就是我们待会把源代码上传部署到服务器的文件位置),这里我指定为“/phpStudyTest”,待会工程上传的时候就会上传到“G:\Program Files\phpStudy\WWW\phpStudyTest”这个phpStudyTest文件夹下。

位置5是相对于我们在 “Connection”设置的"Browse files on server"的位置,我们的项目现在放到了“localhost”的根位置phpStudyTest文件夹下了,所以设置为“/phpStudyTest”。

位置6就是我们可以用浏览器打开项目的链接地址预览。

关键是要理解清楚这几个文件夹的意思,不然是访问不到网页文件的。

配置完之后点击“确定”,现在我们还是没有把工程上传到服务器的,下一步就是设置上传工程的配置。

步骤二:配置运行调试环境

点击编辑结构:

展开 Default -> PHP Web Application,现在是状态,如下图:

点击“…”按钮,在弹出框中点击“+”添加服务器信息

位置1 填写配置的名称,位置2填写我们本地服务器的地址,这里是“localhost”,端口默认是80,Debugger默认就好了,也可以去配置Xdebug,这里不重点讲。填写完成之后点击:应用->确定。

回到上一个页面,在Server下拉就可以看到我们配置名称:

位置2是我们默认的链接开始位置,这里填“/”就好了。

位置3是我们用于调试的默认浏览器类型。

现在一切都配置好了。OK!!!!!!!!!!!!!!

部署工程到服务器

点击工程右键也可以的,我们选择点击工具栏,点击位置如下图:

上传成功之后,控制台输出;

如果不想每次都手动上传,可以设置自动模式,自动模式下当我们修改了文件并保存之后,软件自动把修改的文件上传到服务器。设置如下:

现在我们来看看效果:

点击运行form.html

再点击提交,现在能正常跳转了:

工程源码:

http://download.csdn.net/detail/u012861467/9743767

好了,本文结束了,希望能帮到还在寻找解决方法的同学。这也是本人通过实践得出来的总结,希望尊重别人的劳动成果,写这么长不容易的,转载记得要标上原文链接地址。

如果有什么写得不好的地方欢迎指出,谢谢。

本文转自 https://blog.csdn.net/u012861467/article/details/54692236?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522afbcb047d32800a861cd4b90cec5944b%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=afbcb047d32800a861cd4b90cec5944b&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-4-54692236-null-null.142v100pc_search_result_base8&utm_term=php%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83&spm=1018.2226.3001.4187,如有侵权,请联系删除。

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

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

相关文章

双十二投影仪推品牌推荐哪个?当贝卓越画质与智能系统的完美结合

双十二购物狂欢节临近&#xff0c;加上国补至高20%的优惠&#xff0c;这场投影仪年末战役也成为了各家品牌必争之地。越来越多的朋友都在考虑入手一台投影仪&#xff0c;打造专属的私人家庭影院&#xff0c;在家也能享受影院级影音乐趣。在众多投影仪品牌中&#xff0c;当贝投影…

技术岗面试准备总结

该总结除个人经验外&#xff0c;参考&#xff1a; 求职】手把手教你写求职简历&#xff0c;8分钟掌握简历的套路科注意事项&#xff01; 【求职干货】从面试官的角度&#xff0c;教你如何面试中小企业研发岗 面试一家公司&#xff0c;需要做哪些准备&#xff1f;&#xff08;…

Quill富文本实现内容自定义格式format

在使用quill富文本编辑器时&#xff0c;我们输入文本会被作为类似DOM节点的数据对象存储在内部&#xff0c;渲染时生成相应的DOM节点。这是quill的文档模型Parchment,它提供了多种内容节点类型&#xff0c;如Inline \ Block \ Embed等。 quill 扩展了 Parchment 提供的的基础类…

MQTT知识要点

介绍 MQTT (Message Queuing Telemetry Transport) 是一种轻量级的发布/订阅消息协议&#xff0c;专为低带宽环境M2M而设计。是物联网&#xff08;IoT&#xff09;最常用的消息传递协议。 轻量高效双向通信可以扩展以连接数百万台物联网设备。可靠的消息传递&#xff08;支持…

Linux -基础指令3

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【Linux】 欢迎点赞&#x1f44d;收藏⭐关注❤️ 文章目录 &#x1f4da; 前言⏰ 时间相关&#x1f511; 概念一&#xff1a;日志 date&#x1f511; 概念二&#xff1a;时间戳 Cal &#x1f50d; 查找findwhichwhereisgr…

如何在 Redis 上配置 SSL/TLS ?

在数据泄露非常普遍的时代&#xff0c;数据安全传输对于各种规模的应用程序来说都变得至关重要。 Redis 作为一种非常流行的内存数据结构存储&#xff0c;被广泛用于缓存、消息代理和数据库。鉴于其广泛使用&#xff0c;使用SSL/TLS 加密保护 Redis 连接&#xff0c;对于保护敏…

选择大于一切!Amazon Bedrock重塑大模型领域的竞合规则

文 | 智能相对论 作者 | 陈泊丞 早些年&#xff0c;“百模大战”打得火热&#xff0c;但是随着模型发展的深入&#xff0c;人们发现如果只是争抢市场份额&#xff0c;意义并不大&#xff0c;产业链上下游需要协作共进&#xff0c;才能为市场和社会提供更优质的生成式AI服务。…

MySQL 性能优化详解

MySQL 性能优化详解 硬件升级系统配置优化调整buffer_pool数据预热降低日志的磁盘落盘 表结构设计优化SQL语句及索引优化SQL优化实战案例 MySQL性能优化我们可以从以下四个维度考虑&#xff1a;硬件升级、系统配置、表结构设计、SQL语句和索引。 从成本上来说&#xff1a;硬件升…

RK3568平台开发系列讲解(pinctrl 子系统篇)pinctrl_debug

🚀返回专栏总目录 文章目录 1. Overview2. debug信息2.1 pinctrl-devices2.2. pinctrl-handles2.3. pinctrl-handles3. debug信息3.1. 查看(pinctrl_register_pins)注册了哪些pins3.2. 查看pin groups;3.3. 查看每种functions所占用的gpio groups信息:3.4. pinconf沉淀、…

目标跟踪算法:SORT、卡尔曼滤波、匈牙利算法

目录 1 目标检测 2 卡尔曼滤波 3《从放弃到精通&#xff01;卡尔曼滤波从理论到实践》视频简单学习笔记 3.1 入门 3.2 进阶 3.2.1 状态空间表达式 3.2.2 高斯分布 3.3 放弃 3.4 精通 4 匈牙利算法 5 《【运筹学】-指派问题&#xff08;匈牙利算法&#xff09;》视…

5G Multicast/Broadcast Services(MBS) (八) MBS多播DRX

这里简单看下多播DRX的内容。 1 MBS multicast 对于MBS多播,RRC可配置 MAC entity使其具备per G-RNTI 或per G-CS-RNTI DRX 功能,从而控制 UE 对 MAC entity的G-RNTI和G-CS-RNTI 的 PDCCH 监听活动。当处于 RRC_CONNECTED 状态时,如果为 G-RNTI 或 G-CS-RNTI 配置了多播…

【JavaEE】多线程(7)

一、JUC的常见类 JUC→java.util.concurrent&#xff0c;放了和多线程相关的组件 1.1 Callable 接口 看以下从计算从1加到1000的代码&#xff1a; public class Demo {public static int sum;public static void main(String[] args) throws InterruptedException {Thread …

宝塔面板-java项目 spring 无法正常启动 java spring 宝塔 没有显示日志 问题解决方案-spring项目宝塔面板无日志

宝塔面板-java项目 spring 无法正常启动 java spring 宝塔 没有显示日志 -优雅草央千澈问题解决方案-spring项目宝塔面板无日志 问题描述 昨天安排了一个新项目的开发&#xff0c;搭建兄弟搭建完但是通信有问题&#xff0c;spring服务无法正常启动&#xff0c;于是交代后端兄…

关于一些游戏需要转区的方法

当玩非国区游戏时有时会出现乱码导致无法启动&#xff0c;此时多半需要转区来进行解决 1.下载转区软件 【转区工具】Locale Emulator 下载链接&#xff1a;Locale.Emulator.2.5.0.1.zip - 蓝奏云 用此软件可以解决大部分问题。 2.进行系统转区 首先打开控制面板选择时间与…

浅谈网络 | 应用层之云网络隔离GRE/VXLAN

目录 前言GRE 隧道技术VXLANGRE/VXLAN接入云平台 前言 之前提到&#xff0c;为云平台中的租户实现隔离时&#xff0c;常用的策略是基于 VLAN。然而&#xff0c;VLAN 只有 12 位&#xff0c;共支持 4096 个 ID&#xff0c;这在最初设计时看似足够&#xff0c;但随着云计算的快速…

【Python】批量下载抖音视频

1、代码 import os import re from concurrent.futures import ThreadPoolExecutor import requestsdef get_urls(max_cursor):# 请求头 &#xff08;页面获取&#xff09;headers {Cookie: ,Referer: ,User-Agent: }# 请求地址&#xff08;页面获取&#xff09;url # max_c…

刚入行Java,如何深入学习JVM底层原理?

对于JVM&#xff0c;我想大部分小伙伴都是要面试了才会去学&#xff0c;其余时间基本不会去看&#xff08;掐指一算&#xff0c;你们书架上面的深入理解Java虚拟机第三版应该都一层灰了吧【手动狗头】&#xff09;。但值得一说的是&#xff0c;当你工作多年之后&#xff0c;你遇…

【Redis】深入解析Redis缓存机制:全面掌握缓存更新、穿透、雪崩与击穿的终极指南

文章目录 一、Redis缓存机制概述1.1 Redis缓存的基本原理1.2 常见的Redis缓存应用场景 二、缓存更新机制2.1 缓存更新的策略2.2 示例代码&#xff1a;主动更新缓存 三、缓存穿透3.1 缓存穿透的原因3.2 缓解缓存穿透的方法3.3 示例代码&#xff1a;使用布隆过滤器 四、缓存雪崩4…

java中的数组(2)

大家好&#xff0c;我们今天继续来看java中数组这方面的知识点&#xff0c;那么话不多说&#xff0c;我们直接开始。 一.数组的使用 1.数组中元素访问 数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,数组可以通过下标访问其任意位置的元素. 也可以进行修改…

Qt入门7——Qt事件

目录 1. Qt事件介绍&#xff1a; 2. 事件的处理 示例1&#xff1a;鼠标进入(enterEvent)与离开事件(leaveEvent) 示例2&#xff1a;鼠标点击事件(mousePressEvent) 示例3&#xff1a;鼠标移动事件(mouseMoveEvent) 3. 按键事件 4. 定时器 5. 窗口事件 1. Qt事件介绍&a…