使用 PHP 构建 URL 缩短器
缩短页面 URL有几个好处。首先,它减少了字符数量,这对于在 Twitter 和 Facebook 等施加字符限制的聊天或社交媒体上共享很方便。
您还可以使用短 URL 来屏蔽 URL,例如那些包含特殊参数的附属公司。您还可以跟踪来自这些 URL 的访问次数,这对于跟踪活动或分析很有用。
有许多服务都可以或付费,您可以在其中轻松缩短 URL。例如,Bit.ly 就是这一类别中最著名的网站之一。但是您知道您实际上可以构建自己的 URL 缩短器吗?
构建自己的数据意味着您可以控制所有数据。您也可以使用自己的域。或者,添加付费服务可能无法提供的自定义功能或自定义集成。如果您喜欢冒险,请按照本文进行操作;我们会告诉你怎么做。
要求
在开始本教程之前,我们假设您已经熟悉 Web 开发过程并且在一定程度上熟悉使用 PHP 和 MySQL 等堆栈。此外,您还需要以下内容:
1. 托管账户
只要它可以运行 PHP 和 MySQL,将它托管在何处并不重要。我建议获得一个提供 cPanel 和 SSH 访问的,因为我们希望直接在主机上而不是本地主机上设置它。
2.域名
您可以选择任何顶级域名;域越短越好。
三、配套工具
如果它还提供像Composer和Git这样的支持工具,那就太好了,因为我们需要它们来拉取一些 PHP 库。
现在我们将开始将所有这些放在一起以启动并运行我们的自定义短 URL 应用程序。
第 1 步:获取托管帐户
获取托管帐户。对于本教程,我们将使用HostArmada托管我们的短 URL 应用程序。
由于我们不需要那么高的规格,我们选择了 Host Armada 的Web Warp托管选项。托管在 Nginx 上运行,具有:
- 30 GB 固态硬盘,
- 4 核 CPU,以及
- 4 GB 内存。
它还包括我们在帐户中添加的每个域的免费 SSL 证书,每月只需 4.69 美元。
最重要的是,它提供了我们运行应用程序所需的基本基础设施,例如具有 SSH 访问权限的 cPanel、开箱即用的 Git 和 Composer,因此我们可以立即开始构建我们的应用程序,而不是安装工具。
第 2 步:指向您的域
获得托管后,您需要一个域并将其指向您的托管。这是通过DNS 管理器完成的,DNS 管理器通常应由您注册域或托管的域注册商提供。
基本上您需要将域指向托管提供商提供的 IP 地址。但是每个供应商的面板和要遵循的说明都会略有不同,因此请选择并遵循适用于您的供应商的这些参考资料之一。
- cPanel:如何在 cPanel 中管理您的域的 DNS 区域?
- VPS :如何添加域
- Cloudflare:在 Cloudflare 中管理 DNS
请记住,在您对 IP 进行更改后,DNS 解析可能需要大约 24-48 小时。您可以使用WhatsMyDNS等工具检查进度。
第三步:登录SSH
SSH 是通过命令行运行一些应用程序的通道。在本教程中,我们将运行一些命令行,例如Git和Composer。
在 cPanel 中,您可以按照本文在 macOS 或 Windows 上设置 SSH 连接。如果您发现连接 SSH 时遇到问题,请联系您的托管服务提供商。
第 4 步:下载 Polr
接下来你需要下载Polr。它是一个开源 PHP 库,允许我们运行和托管您自己的 URL 缩短器。
它提供 API 和管理来管理 URL、用户和一些其他定制。我们要将此库下载到根目录(通常此目录名为public_html
)。
运行以下命令:
1个
|
git clone https: //github .com /cydrobolt/polr .git --depth=1 . |
第 4 步:配置服务器
我们将配置主机和 Polr 安装,以便它可以正常运行并可从域访问。为此,我们首先需要确保我们的主机至少运行在 PHP7.2 上。
在 cPanel 中,您可以轻松地从Software > Select PHP version检查并选择它。
4.1:配置根目录
我们还需要将根目录指向Polr 库自带的 public。这是index.php文件所在的目录。当网站收到请求时,将需要执行此文件。
在 cPanel 中,我们可以从Domains > Domains进行设置。检查文档根指向的目录。在我们的例子中,这个路径目录位于~/public_html/public
.
4.2:配置数据库
我们需要创建一个新的数据库来存储 ID、URL 和短 URL 本身等数据。在 cPanel 中,我们可以创建一个新数据库并从MySQL 数据库向导附加一个用户。您只需填写输入内容并按照说明操作即可。
记下以下内容,因为您稍后会需要它:
- 数据库名称。
- 数据库用户和用户密码。
第 5 步:Polr 设置和安装
我们可以开始将库安装到我们的主机上。为此,运行下面的 composer 命令来安装库依赖项。
1个
|
composer install |
…将文件重命名.env.setup
为.env
1个
|
mv . env .setup . env |
加载域和/setup
浏览器。在此页面上,您将看到一个表格,您需要在其中输入所需信息。
有许多输入。但最重要的是数据库配置和应用程序设置中的那些。
填写以下信息以连接到数据库和用户。
- 数据库主机:
localhost
- 数据库端口:
3306
- 数据库用户名:(将其更改为您在 第 4 步
hongkiat_urluser
中设置的用户名) - 数据库密码:(
*****
将其更改为您在第 4 步中设置的密码) - 数据库名称:(将其更改为您在 第 4 步
hongkiat_urluser
中设置的名称)
完成后,在短 URL 应用程序的主要设置中填写以下内容。
- 应用程序名称:(随便填)
- 应用程序协议:(您的应用程序是在 HTTP 还是 HTTPS 上运行。请注意,HTTPS 需要安装 SSL 证书。)
- 应用程序 URL:(添加您在本教程前面设置的域)
您可以根据需要继续设置其余的可选输入。单击该页面上的“安装”/setup
按钮以安装该应用程序。
就这样。安装应该很快。完成后加载主页。您应该会看到用于缩短 URL 的输入,如以下屏幕截图所示。
测试
要查看我们的短 URL 应用程序是否有效,我们将尝试添加一个 URL,例如https://www.hongkiat.com/blog/windows-11-features/
并点击主页上的Shorten按钮。
下面,我们可以看到我们的应用程序使用我们的自定义域生成了短 URL。如果您打算实际共享 URL,它还可以为短 URL 生成二维码。
除此之外,您还可以自定义生成短 URL,而不是让应用程序为您生成随机 ID 或字符。为此,请单击此链接选项并设置 URL 结尾。确保检查它是否仍然可用并点击缩短按钮。
包起来
创建您自己的短 URL 应用程序需要一些技术诀窍。设置也需要时间。但是一旦你解决了这个问题,从长远来看,你就有可能节省资金,并获得付费 SaaS 无法获得的所有好处。
您拥有所有数据,并且可以使用自己的品牌域而无需额外费用。如果您是 PHP 开发人员,则可以构建自定义功能并不受限制地使用所有 API。
所以,最后,我希望本教程可以帮助您构建自己的短网址。