设置开发服务器

2024-01-27

开发 PHP 应用程序时,最好有一个用于开发/测试的服务器,然后是一个实时服务器,一旦准备好就可以放置所有内容。

好吧,但是怎么办呢?

如果您通过托管公司进行托管,如何设置自己的开发服务器来测试模仿所有 LAMP 设置作为实时服务器?因为如果它们不同,那么在与实际版本不同的版本上进行测试就会达不到目的,对吗?

通过同一托管公司使用另一台服务器并要求他们使开发服务器和实时服务器具有完全相同的设置是否更好?

另外,用于从“实时服务器”中签出文件在“开发服务器”中对其进行处理,然后将它们签回实时服务器的最佳工作流程是什么?

Thanks!!


从日常工作中我总结出两点:

  • XAMPP http://www.apachefriends.org/en/xampp.html是您在 Windows 上设置 Apache/mySQL/PHP 堆栈的一站式商店。我用它进行开发并部署到 Linux 机器上,没问题。

  • 如果你想在家庭服务器或者虚拟机上搭建Linux环境,我前段时间问了一个你可能感兴趣的问题:为 Web 开发人员预装 Linux? https://stackoverflow.com/questions/2154457/pre-installed-linux-for-web-developers

通过同一托管公司使用另一台服务器并要求他们使开发服务器和实时服务器具有完全相同的设置是否更好?

如果您能负担得起第二台服务器,这可能是最好的选择。另一方面,您可以随意升级和摆弄本地计算机,而所有这些的长期成本只是第二台租用服务器的一小部分。如果有疑问,我会选择本地机器。

不要忘记 PHP 是一种非常可移植的语言。如果您不使用任何特定的命令行工具或完全奇异的扩展,那么让 PHP 应用程序在 Linux 上工作,甚至在 Windows 上工作只是一些设置和细节的问题,但实际上不再是什么大问题了。

另外,用于从“实时服务器”中签出文件在“开发服务器”中对其进行处理,然后将它们签回实时服务器的最佳工作流程是什么?

这个领域有很多很多的观点和做法。就我个人而言,无论我在哪里使用以下工作流程,它都是理想的 - 我仍在自己的所有项目和所有客户中实施此工作流程。

  1. 在 IDE 中本地编辑文件

  2. 通过IDE内置FTP功能上传到开发服务器

  3. 在开发服务器上测试

  4. 一旦某个功能经过测试并在开发服务器上运行(即“完成”),请将整个包签入 Subversion(或其他)存储库

  5. 在实时服务器上,让构建脚本从存储库中检查最新版本,将其下载到具有版本号的目录,完成后,将指向前一版本的符号链接更改为最新版本。

这样,您对实时环境所做的每个更改都会记录在版本控制系统中,并且恢复到以前的版本只是几秒钟的问题。对我来说,与到处使用纯 FTP 相比,这让我松了一口气。

可能也很有趣的问题:为 PHP 项目设置部署/构建/CI 周期 https://stackoverflow.com/questions/2180460/setting-up-a-deployment-build-ci-cycle-for-php-projects

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置开发服务器 的相关文章

  • PHP 中的encodeURI() ?

    PHP 中是否有一些不编码的encodeURI 函数 我现在用这个 function encodeURI url http php net manual en function rawurlencode php https develope
  • PHP 共享标头而不使用服务器端脚本?

    到目前为止我总是通过 PHP 解决简单的问题 您有一个包含页眉 菜单 页脚和内容字段的网站 每个页面的页眉 菜单和页脚通常是相同的 在没有 PHP 或任何其他服务器端语言的情况下 如何使页眉 菜单和页脚数据仅存在于一个文件中 例如 您不会有
  • 通过身份验证保护 CodeIgniter 2 应用程序的正确方法是什么?

    I have Ion Auth http benedmunds com ion auth 正确安装并在我的服务器上运行 我也有默认的代码点火器2 新闻 教程在同一个 CI 安装中工作 我只是在玩 并对使用身份验证系统 封闭 或保护整个应用程
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib
  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子
  • Readfile 从大文件中读取 0 字节?

    我正在尝试通过以下方式发送一个大文件readfile 但是 没有任何内容发送到浏览器 并且readfile 回报0 not false 我尝试发送的文件大小为 4GiB 并且可由 PHP 读取 我正在设置set time limit 0 以
  • 简单的 PHP 回显代码不起作用

    这是我的 html 和 php 脚本 h1 Bob s Auto Parts h1 table width 100 tr tr table 为什么这个输出会出现一个 gt 我希望它是 这有效 仅有的 这是输出 鲍勃的汽车零件 鲍勃
  • PHP 无法打开流:是一个目录

    非常简单的 PHP 脚本 我在我亲自设置的 Ubuntu Web 服务器上的 EE 模板中运行 我知道这与权限有关 并且我已经将我尝试写入的目录的所有者更改为 Apache 用户 我得到的错误是 遇到 PHP 错误 严重性 警告 消息 fi
  • CodeIgniter 控制器 - JSON - AJAX

    我正在尝试通过 AJAX 使用 CodeIgniter 发送表单构建 并尝试使用 JSON 获取响应 但是 我只在打开开发人员选项卡时看到响应 我什至不确定这是否实际上是响应 因为它显示了两个 json 数据 它所显示的只是加载旋转器 然后
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • Google Cloud SQL 上的故障转移如何运作?

    我打算将 PHP 应用程序 从 Google Cloud Platform 外部的服务器 连接到 Google Cloud SQL 我想知道如何设计应用程序以正确地对其数据库进行故障转移 根据manual https cloud googl
  • 编辑 HTACCESS 文件以防止直接访问特定文件夹中的特定文件

    我试图阻止直接访问子文件夹中的特定文件 我意识到这个论坛上有很多描述类似问题的主题 但是 我的似乎有点尴尬 由于我已经存在 HTACCESS 文件 这是文件的文件路径 www example com PRINCIPAL PROJECTS m
  • 获取字符串中的最后一个整数

    我需要隔离包含多个整数的字符串中最新出现的整数 我怎样才能得到23代替1 for lastnum1 text 1 out of 23 lastnum1 this gt getEval eregi replace out of text 你可
  • 通过 URL 指定控制器类与为每个控制器编写一个脚本相比,有何优缺点?

    今年夏天我安装了两个不同的 PHP 系统 每个都使用两种不同的方法 方法 1 每个任务一个 PHP 文件 该方法需要一个PHP为每个主要任务创建文件 例如 我的上传脚本可以通过http www domain com upload php O
  • 访问sendBeacon发送的数据

    文档表明sendBeacon通过发送其数据HTTP POST request 但在 PHP 中 POST变量似乎是一个空数组 这是我的 JavaScript 代码 navigator sendBeacon beacon log php My
  • PHP 扩展开发入门 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 请推荐有关 PHP 低 级 modules 编程接口的帮助文章或教程 搜索我的书签 我发现的唯一链接是
  • 如何在 Zend MVC 中实现 SSL

    我之前已经通过使用特定的安全文件夹 例如服务器上的 https 文件夹与 http 文件夹 实现了安全页面 我已经开始使用 Zend Framework 并希望应用程序的某些部分 例如登录 使用 https 我在谷歌上搜索过 甚至在这里搜索
  • PHP print_r() 中 _r 的含义是什么?

    我见过这个答案 https stackoverflow com questions 13103410 what does r suffix mean就这样 但我不确定它对于 PHP 是否相同 如果是 可重入的含义是什么 From PHP n
  • Ebay api GetSellerList,解析响应 XML

    我正在使用 eBay 交易 api 来获取当前列出的卖家股票 我正在使用 GetSellerList 调用 我在解析 xml 时遇到问题 然后将其插入到网站商店中 这是 xml 请求
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西

随机推荐

  • Github 操作 `on` 中没有定义事件触发器

    我创建了一个管道 我想在每次推送任何分支时触发 有我的default yml name default on push branches jobs build runs on macOS latest steps uses actions
  • 模板类的 typedef?

    是否有可能typedef使用模板的长类型 例如 template
  • 反应本机要求不适用于图像源

    给出下面的代码 反应本机抱怨 Requiring unknown module images Foo png If you are sure the module is there try restarting the packager o
  • 在 Android 中使用 OpenCV 检测图像中的圆圈

    我正在开发一个安卓应用程序其中我必须检测现有图像上的圆圈 从图库浏览或从相机捕获 浏览 捕获的图像将显示在 ImageView 上 顺便说一句 我正在使用OpenCV Android 库我正确地编译了它 对我的 Android 应用程序有任
  • 我可以同时使用 SOAP Webservices 和 Spring MVC

    我有一个 Spring MVC 项目 我写了一段类似的代码 Controller RequestMapping CallBack WebService name NotificationToCP targetNamespace http S
  • 当列不存在时 Postgres 返回默认值

    我有一个查询 如果缺少某个列 我本质上需要一个后备值 我想知道我是否可以纯粹在查询中处理这个问题 而不是先探测并发送单独的查询 本质上我正在寻找相当于COALESCE处理缺失列的情况 想象一下以下两张表 T1 id title extra
  • Visibility.Hidden 状态的解决方法 - Windows Phone 8.1 应用程序开发

    我无法将进度条的可见性状态指定为隐藏 我读过 在 WPF 模型中 隐藏表示对象不应呈现的可见状态 但仍应占用 WPF 布局中的空间 Silverlight 不支持隐藏 是否有解决方法可以达到与我的应用程序中隐藏相同的效果 Visibilit
  • Beaglebone GPIO 输入不起作用

    我正在使用 beaglebone 通过 sysfs 接口访问特定引脚的数字输入 我可以更改输出状态 但不能更改输入 我所做的是 我有两个引脚 pinA 和 pinB pinA 我将其输出 pinB 我将其输入 将 pinA 连接到 pinB
  • 这个标准化功能如何工作?

    我正在做 Junit 教程 遇到了正在测试的标准化函数 它的定义如下 public static String normalizeWord String word try int i Class normalizerFormClass nu
  • 如何获取运行 C# 应用程序的服务器的 IP 地址?

    我正在运行一个服务器 我想显示我自己的IP地址 获取计算机自己 如果可能的话 外部 IP 地址的语法是什么 有人写了下面的代码 IPHostEntry host string localIP host Dns GetHostEntry Dn
  • 在 FakeRequest 中使用 MultipartFormData 进行框架测试

    我目前正在为 Play Framework 2 2 x 应用程序编写一些 Specs2 测试 该应用程序接受 MultipartFormData 提交作为其功能的一部分 我已经使用以下形式成功地使用文本和 JSON 主体编写了其他测试 re
  • 在 GHCi 中定义函数签名

    在 Haskell 的解释器 GHCi 中定义函数签名不起作用 复制一个例子这一页 https wiki haskell org Function Prelude gt square Int gt Int
  • 如何在android kotlin中使用一个复选框选择多个复选框?

    这是我的活动代码 class SelectCoursesActivity AppCompatActivity override fun onCreate savedInstanceState Bundle super onCreate sa
  • 如何检查php-fpm是否安装并正确运行?

    如标题 如何检查 php fpm 状态 正在运行吗 有多少请求服务 谢谢 Is ps ef grep php fpm第一部分的答案太简单了 您还可以使用可通过以下命令启用的 ping 功能ping path配置指令 http www php
  • JavaScript 文件加载顺序和依赖关系管理

    只是想知道这个 我有几个单独的 javascript 文件 它们都包含基于模块模式的代码 一些模块具有其他一些模块作为依赖项 如果我知道在加载页面之前不会在 HTML 上调用任何代码 那么文件加载的顺序仍然重要吗 模块代码位于立即函数内的事
  • popen 中整个字符串命令和字符串列表之间的区别

    我发现大多数程序员建议使用字符串列表来表示 popen 中的命令 然而 在我自己的项目中 我发现整个字符串在更多情况下都有效 例如下面的作品 subprocess Popen pgrep f run stdout subprocess PI
  • C ++生成(xyz)范围内的点

    有没有比这更好的方法来生成这样的点列表 就图书馆而言 我对任何基于特征的方法持开放态度 auto it voxels begin for auto i 180 i lt 90 i for auto j 80 j lt 70 j for au
  • 正确使用$@

    我正在尝试编写一个小脚本 它接受任意数量的命令行参数 打印出rwx文件 不是目录 的权限 我拥有的是 file if f file then ls l file fi 然而 这仅接受一个命令行参数 谢谢你的帮助 这是之间的一些差异的演示 a
  • 如何在Pubnub中的ngHistory中实现回调?

    当尝试检索历史消息时on事件 加载时间太长 微调器显示和隐藏速度太快 但该消息尚未加载 我们如何计算或获取加载历史记录的准确时间 scope limit 100 PubNub ngHistory channel scope channel
  • 设置开发服务器

    开发 PHP 应用程序时 最好有一个用于开发 测试的服务器 然后是一个实时服务器 一旦准备好就可以放置所有内容 好吧 但是怎么办呢 如果您通过托管公司进行托管 如何设置自己的开发服务器来测试模仿所有 LAMP 设置作为实时服务器 因为如果它