【问题标题】:Alternative to executing grep while on a shared web-hosting plan在共享网络托管计划中执行 grep 的替代方法
【发布时间】:2017-11-02 04:12:57
【问题描述】:

应用: 我希望发布一个网络应用程序,它接受输入字符串,在大约 5,000 个纯文本文件中搜索字符串并返回匹配的文件名。每个文本文件大约 4MB(未压缩)。

问题: 在 PHP 中,我可以使用 exec(grep -l pattern dir/* ) 来完成工作。但是,出于成本原因,我会选择 通常不允许执行程序的共享网络托管计划

您能否建议任何替代 grep 用于 Web 环境的方法?

到目前为止,我已经理解了以下内容:

  1. 任何 grep-alternative(例如 sift)的二进制程序文件都可以工作。但是,在共享服务器上执行的问题仍然存在。

  2. 考虑到大量文件及其大小,PHP 函数 preg_match 不合适。

我对用其他语言(例如 perl 或 javascript)实现类似 grep 的函数持开放态度。但是,我不确定性能是否可以与 grep 媲美,以及执行问题是否仍然存在。

我曾尝试寻找不同的网络托管服务提供商,并了解到虚拟专用服务器 (VPS) 可能是解决方案。但是,我遇到的所有托管服务提供商的 VPS 计划的价格都无法承受。

此问题的任何解决方案或指导?

【问题讨论】:

标签: javascript perl grep cgi web-hosting


【解决方案1】:

可能的解决方案取决于您的托管服务提供商提供的服务和您的预算。 你会有可用的 RDBMS 吗?然后,您可以使用许多提供的全文搜索。如果没有,你可以使用 SQLite,它支持全文搜索。

如果您必须坚持使用低技术解决方案,那么右侧链接的 PHP 解决方案可能适合您。

Perl 有一个File::Find 模块,您可以使用它。

【讨论】:

  • 感谢您的帮助。目前,我选择了 Bluehost,它们允许使用 grep 功能。
猜你喜欢
  • 2013-07-14
  • 2010-09-08
  • 2010-12-07
  • 2011-03-18
  • 2017-05-21
  • 1970-01-01
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多