【问题标题】:How to run PHP scripts on server without updating server's files如何在服务器上运行 PHP 脚本而不更新服务器的文件
【发布时间】:2016-03-02 03:56:02
【问题描述】:

我需要在服务器上运行 PHP 脚本,而不必更新它存储的文件 - 在部署之前在真实服务器上执行测试。服务器可以访问外部无法访问的数据库。出于这个原因,我无法在本地运行我的脚本,我需要在服务器环境中运行它们,但我不想更新存储在服务器上的文件。有什么办法吗?有没有远程PHP调试的工具?

【问题讨论】:

  • 为什么不能只备份数据库并将其导入本地主机?
  • 这当然是一个选项,但我更愿意将此作为最后的手段,因为它需要我安装 DBMS 并跟踪服务器的 DB 数据模型更改。我正在寻找的是一个现成的远程 PHP 调试解决方案,它允许我在服务器上的隔离环境中运行脚本(可能是 Apache Web 服务器的扩展或其他东西)。
  • 针对生产数据库的副本(模拟或真实)进行开发和测试更为常见。使用实时生产数据库不是一个好主意。如今,vagrant 之类的工具使在本地运行整个系统变得更加简单。
  • @MarkO'Connor 感谢您的评论)我可能会坚持基于虚拟化的解决方案,因为这里的每个人都在劝我放弃我原来的方法)

标签: php database deployment server remote-debugging


【解决方案1】:

有几种方法可以实现这个东西

  1. 您可以从实时服务器导出数据库并将其导入本地服务器以进行测试和调试。
  2. 您可以将代码上传到服务器上的单独文件夹或子域中,以连接数据库并使用实时服务器配置进行测试。满意后替换实时文件。

【讨论】:

  • 感谢您的回答)整个事情是关于测试更改而不必在每次进行更改时都执行部署,因此第二个建议对我不起作用。第一种方法类似于 cmets 在初始帖子中提出的方法,请参阅我的 cmets。
  • 您使用的是 SVN/GIT 还是任何其他存储库系统?
  • 是的,我正在使用 Git,并且我已经建立了 push-to-deploy。
【解决方案2】:

我找到了一个解决方案——PHP 的 XDebug。然而,正如 cmets 中提到的,针对 DB 副本进行测试并使用虚拟化是一种更常见的方法,我个人可能会坚持使用。 对于那些仍然决心走“硬”路的人,这里有一个关于在 Ubuntu 上为 PHP 安装 XDebug 的 HOWTO 链接 - http://ubuntuforums.org/showthread.php?t=525257

【讨论】:

    猜你喜欢
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2015-07-10
    • 2019-08-27
    • 2021-07-06
    • 2019-05-24
    相关资源
    最近更新 更多