PHP开源项目之YOURLS
YOURLS是一个开源的PHP的程序,可以利用它来构建属于自己的URL缩短服务,YOURLS还可以集成到WordPress博客中使用。 YOURLS 的主要功能: 公开的(Public 任何人都可以用它创建短连接)或者私有的(private,只能你自己使用) 可以随机(顺序的)或者自定义。
1.下载源码
git clone https://github.com/YOURLS/YOURLS.git
2. 修改配置
cd YOURLS mv user/config-sample.php user/config.php 修改config.php里面的配置参数,依据自己的环境自行修改 define( 'YOURLS_DB_USER', 'root' );
define( 'YOURLS_DB_PASS', '123456' );
define( 'YOURLS_DB_NAME', 'yourls' );
define( 'YOURLS_DB_HOST', 'localhost' );
define( 'YOURLS_DB_PREFIX', 'yourls_' );
//上面是数据信息不用多说
define( 'YOURLS_SITE', 'http://test.com' ); //你自己服务器的域名 用最短的,短地址也是基于这个生成。
define( 'YOURLS_HOURS_OFFSET', '+8'); //时区偏移
define( 'YOURLS_LANG', 'zh_CN' ); //这个语言默认是英文,没有中文包,需要自己去 https://github.com/guox/yourls-zh_CN/下载,放到 user/languages 里面
define( 'YOURLS_UNIQUE_URLS', true ); //短地址是否唯一
define( 'YOURLS_PRIVATE', true ); //是否私有,如果私有的,则进行api调用生成短地址时需要传递用户名和密码
define( 'YOURLS_COOKIEKEY', 'A2C7&H~r80pTps{nIfI8VFpTxnfF3c)j@J#{nDUh' );//加密cookie 去 http://yourls.org/cookie 获取
$yourls_user_passwords = array(
'admin' => '123456' /* Password encrypted by YOURLS */ , //用户名=>密码 可填多个 登录成功后这里的明文密码会被加密
);
define( 'YOURLS_DEBUG', false ); //是否开启调试
define( 'YOURLS_URL_CONVERT', 62 ); //使用36进制 还是62进制 这个最好一开始设好不要修改,避免地址冲突,建议62进制
$yourls_reserved_URL = array(
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick', //排除一下短地址,这些地址是不会生成的
);
3. 添加nginx配置
server {
listen 80;
server_name test.com;
root /www/YOURLS/;
index index.php;
location / {
try_files $uri $uri/ /yourls-loader.php$is_args$args;
}
location ~ \.php$ {
root /www/YOURLS/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
4. 使用方式
请求地址:http://域名//yourls-api.php
参数:username(用户名)、password(密码)、format(格式 json)、url(长地址)、action(功能,shorturl)

正常返回值:

其他开源系统:
- Polr(https://github.com/cydrobolt/polr)
PHP开源项目之YOURLS的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- iOS开源项目周报0105
由OpenDigg 出品的iOS开源项目周报第四期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. He ...
- .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator
去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...
- .NET平台开源项目速览(17)FluentConsole让你的控制台酷起来
从该系列的第一篇文章 .NET平台开源项目速览(1)SharpConfig配置文件读写组件 开始,不知不觉已经到第17篇了.每一次我们都是介绍一个小巧甚至微不足道的.NET平台的开源软件,或者学习,或 ...
- .NET平台开源项目速览(16)C#写PDF文件类库PDF File Writer介绍
1年前,我在文章:这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)中(第9个项目),给大家推荐了一个开源免费的PDF读写组件 PDFSharp,PDFSharp我2年前就看过 ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- .NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper
好久没有写文章,工作甚忙,但每日还是关注.NET领域的开源项目.五一休息,放松了一下之后,今天就给大家介绍一个轻量级的对象映射工具Tiny Mapper:号称是.NET平台最快的对象映射组件.那就一起 ...
- .NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍
Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器 ...
随机推荐
- 从Workload中优雅隔离Pod
线上集群中,业务跑着跑着,突然发现有个Pod上出现大量错误日志,其他的Pod是正常的,该如何处理呢? 直接删除Pod? 这样不便于保留现场,可能会影响判断问题的根因 让业务方忍一会,先排查下问题? 会 ...
- 小tips:node版本管理工具nvm
nvm是node版本管理工具 为了解决node各种版本存在不兼容现象 nvm是让你在同一台机器上安装和切换不同版本的node的工具 安装 nvm-windows 最新下载地址: https://git ...
- 学习问题记录:RocketMQ集成到SpringBoot后,消费者无法自动进行消息消费。
情况说明 在SpringBoot中集成了RocketMQ,实践过程中,通过RocketMQ DashBoard观察,生产者可以正常将进行消息提交:通过日志及DashBoard观察,消费者成功在Rock ...
- Windows 调试工具课程
本文是我在集团内部上的课程记录而成的博客内容.在本次课程里面将和大家介绍一些在 Windows 上常用的调试工具,以及调查问题的常见套路.适合于伙伴们入门 Windows 调试 本文以下内容是采用原本 ...
- [C++] Rander
注 这个Rander对单个数据的平均分散不太优秀,但是获取大量数据十分平均 当前版本 2.0 for Windows 功能 int rander::reset() 按默认大小重置随机数序列,返回默认大 ...
- Java日期时间API系列23-----Jdk8中java.time包中的新的日期时间API类,获取准确开始时间00:00:00,获取准确结束时间23:59:59等
有时候,往往需要统计某个时间区间的销量等问题,这就需要准确的起始时间,获取准确开始时间00:00:00,获取准确结束时间23:59:59.下面增加了一一些方法,获取当天起始时间,昨天起始时间,当前月第 ...
- 2024年2月中国数据库排行榜:PolarDB夺魁首登顶,TiDB攀升回探花
银装素裹覆大地,春意初醒待来临.2024年2月墨天轮中国数据库流行度榜单出炉,表现最亮眼的无疑是PolarDB,其自23年7月以来一路高歌猛进,此次更是一举夺魁,彰显了云原生数据库的蓬勃发展态势,Oc ...
- 2020年度国产数据库:openGauss
根据墨天轮2020年一年的数据库流行度得分趋势变化,我们选出了流行热度增长显著的数据库为2020年度国产数据库.恭喜 华为开源关系型数据库 openGauss 荣获 "2020年度国产数据库 ...
- C/C++ volatile restrict 用法
volatile和restrict是C和C++中的两个关键字,都用于指示编译器优化. volatile volatile的本意是"易变的",用法和const一样: volatile ...
- LeetCode题目练习记录 _数组和链表01 _20211007
LeetCode题目练习记录 _数组和链表01 _20211007 26. 删除有序数组中的重复项 难度简单2247 给你一个有序数组 nums ,请你原地 删除重复出现的元素,使每个元素 只出现一次 ...