php-concat 是 PHP 支持文件合并模块,主要用于合并前端代码减少 http 请求数,需要 Web Server 支持。
主要是解决了,在 Web Server 支持文件合并和不支持文件合并环境之间的兼容性问题。
如:开发环境使用原生 Nginx 作为 Web Server,生产环境使用 Tengine 并启用 ngx_http_concat_module 时。
PHP 版本需大于等于 5.3
安装
$ cd php-concat $ php_installed_path/bin/phpize $ ./configure --with-php-config=php_installed_path/bin/php-config [--enable-concat] $ make # make install
最后,在php.ini中加入extension=concat.so
配置
extension=php_concat.dll ; Windows extension=concat.so ; *nux
[Concat] concat.enable = off boolean default value is false. 是否启用文件合并 concat.prefix = "??" string default value is "??". 分割前缀。 concat.delimiter = "," string default value is ",". 文件与文件之间的分隔符。 concat.max_files = 0 integer default value is 0. 最大合并文件数,0 为不限制。
文档:
void Concat::setEnable(boolean $enable); 功能说明:设置是否启用文件合并 参数:boolean $enable 是否启用文件合并 返回值:无 boolean Concat::getEnable(); 功能说明:返回是否启用文件合并 参数说明:无 返回值:boolean 是否启用文件合并 void Concat::setPrefix(string $prefix); 功能说明:设置分割前缀 参数:string $prefix 分割前缀 返回值:无 string Concat::getPrefix(); 功能说明:返回分割前缀 参数说明:无 返回值:string 分割前缀 void Concat::setDelimiter(string $delimiter); 功能说明:设置文件分隔符 参数:string $delimiter 文件分隔符 返回值:无 string Concat::getDelimiter(); 功能说明:返回文件分隔符 参数说明:无 返回值:string 文件分隔符 void Concat::setVersionPrefix(string $versionPrefix); 功能说明:设置文件版本前缀 参数:string $versionPrefix 文件版本前缀 返回值:无 string Concat::getVersionPrefix(); 功能说明:返回文件版本前缀 参数说明:无 返回值:string 文件版本前缀 void Concat::setVersion(string $version); 功能说明:设置文件版本 参数:string $version 文件版本 返回值:无 string Concat::getVersion(); 功能说明:返回文件版本 参数说明:无 返回值:string 文件版本 void Concat::setMaxFiles(integer $maxFiles); 功能说明:设置最大合并文件数 参数:integer $maxFiles 最大合并文件数 返回值:无 integer Concat::getMaxFiles(); 功能说明:返回最大合并文件数 参数说明:无 返回值:integer 最大合并文件数 string Concat::css(string $baseUrl, mixed ...); 功能说明:css 文件合并 参数说明:string $baseUrl 基 URL mixed 需要合并的文件名称 返回值:string 合并后的 style 标签 string Concat::javascript(string $baseUrl, mixed ...) 功能说明:js 文件合并 参数说明:string $baseUrl 基 URL mixed 需要合并的文件名称 返回值:string 合并后的 script 标签 string Concat::js(string $baseUrl, mixed ...) 功能说明:Concat::javascript 别名 参数说明:string $baseUrl 基 URL mixed 需要合并的文件名称 返回值:string 合并后的 script 标签
ini_set("concat.enable", "on"); echo Concat::css("http://www.example.com/css/", "a.css", "b/a.css"); // <link href="http://www.example.com/css/??a.css,b/a.css" rel="stylesheet" type="text/css" /> Concat::setVersionPrefix("version"); Concat::setVersion("0.1"); echo Concat::javascript("http://www.example.com/js/", "jquery.js", "jquery.ui.js"); // <script src="http://www.example.com/js/??jquery.js,jquery.ui.js?version=0.1" type="text/javascript"></script> ini_set("concat.enable", "off"); echo Concat::css("http://www.example.com/css/", "a.css", "b/a.css"); // <link href="http://www.example.com/css/a.css" rel="stylesheet" type="text/css" /><link href="http://www.example.com/css/b.css" rel="stylesheet" type="text/css" /> Concat::setVersionPrefix("version"); Concat::setVersion("0.1"); echo Concat::javascript("http://www.example.com/js/", "jquery.js", "jquery.ui.js"); // <script src="http://www.example.com/js/jquery.js?version=0.1" type="text/javascript"></script><script src="http://www.example.com/js/jquery.ui.js?version=0.1" type="text/javascript"></script>
php-concat php-concat 是 PHP 支持文件合并模块,主要用于合并前端代码减少 http 请求数,需要 Web Server 支持。 主要是解决了,在 Web Server 支持文件合并和不支持文件合并环境之间的兼容性问题。 如:开发环境使用原生 Nginx 作为 Web Server,生产环境使用 Tengine 并启用 ngx_http_concat_module 时。 R
现在很多网站要求https访问,既能提高安全性,也避免运营商劫持。又必须给nginx加上这些功能。 注意:编译nginx需要安装好gcc gcc-c++ pcre下载地址: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 我用的是8.39版本的pcre openssl源码包下载地址: https://www.openssl.org/so
前因:公司项目用到了淘宝的nginx-http-concat,导致本地PHP跑项目前端页面的js/css无法加载出来。设备是mac,当初为了省事直接用homebrew 安装的Nginx,不支持安装第三方模块(homebrew有个nginx-full似乎也是可以实现,后面再验证)。homebrew折腾了半天还是决定放弃,采用nginx编译安装来实现,一套走下来发现也没想象中麻烦,步骤如下。 准备工作
标签: group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。 比较抽象,难以理解。 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函 数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组。 group_concat函数应该是在内部执行了group
1.concat()函数 使用方法:concat(str1,str2,…) 返回的结果为连接参数产生的字符串,如有任何一个参数为null,则返回值为null 注意: 如果所有参数均为非二进制字符串,则结果为非二进制字符串 如果自变量中含有任一二进制字符串,则结果为二进制字符串 一个数字参数被转为与之相等的二进制字符串格式,如要避免这种情况,可使用显式类型cast 例如:select concat(
这篇文章主要介绍了php无限分类使用concat是如何实现的,需要的朋友可以参考下 一、数据库设计 -- -- Table structure for table `category` -- CREATE TABLE `category` ( `id` int(11) NOT NULL auto_increment, `catpath` varchar(255) default NULL, `na
PHP 使用concat的无限分类 一、数据库设计: -- -- Table structure for table `category` -- CREATE TABLE `category` ( `id` int(11) NOT NULL auto_increment, `catpath` varchar(255) default NULL, `name` varchar(255) defaul
场景示范 执行以下Mysql: SELECT GROUP_CONCAT(id) AS user_ids FROM broker_company WHERE `status`=1 执行结果: user_ids 140,1516,1554,1584,1634,1714,1734,1742,1758,1834,1836,2076,…… 解析: 由于mysql中group_concat函数对此函数的处理结
windows下cygwin编译安装nginx及concat插件 环境: win10, cygwin 3.3, nginx 1.20.2 安装cygwin 3.3 https://www.cygwin.com/setup-x86_64.exe 安装目录选择 c:\cygwin 即可, packages可选 d:\cygwin_package 用户目录在安装目录的home下, 需要安装的程序源码可以
安装PHP-FFMpeg扩展 composer require php-ffmpeg/php-ffmpeg 基本使用 1、获取视频信息 //1.获取ffmpeg实例 $ffmpeg = FFMpeg::create(array( 'ffmpeg.binaries' => '/usr/bin/ffmpeg',//安装的ffmpeg服务绝对地址 'ffprobe.binarie
一、CONCAT()函数 CONCAT()函数用于将多个字符串连接成一个字符串。 使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为 +----+--------+ | id | name | +----+--------+ | 1 | BioCyc | +----+--------+ 1、语法及使用特点: CONCAT(str1,
语法: GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | expr}[ASC | DESC] [,col_name ...]][SEPARATOR str_val]) 下面演示一下这个函数,先建立一个学生选课表student_courses,并填充一些测试数据。 SQL代码 CREATE
MySQL中group_concat函数详解 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) group_concat()函数需要与group by语句在一起使用,才能得到需要的效果。 基本查询 mysql> select * from aa; +——+——+ | id| nam
RDBMS 10.2.0.4 ,在升级到11.2.0.4之后,发现应用报错ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB。 查看了以下,是函数WMSYS.WM_CONCAT引起的。发现在不同的版本中该函数返回的类型是不一样的。 测试发现,在10.2.0.4下,返回的是varchar2类型的,在10.2.0.5下,显示的是clob类型的。在11.2.0.4下返回的是clob类
/** * @api-请假:导出月份数据 * @param-string|year|值|N|{"value":""} * @param-string|month|值|N|{"value":""} */ public function exportMonth(Request $request) { $this->validat
问题内容: 我被指示使用该方法,而不是与JQuery的Ajax请求进行交互时使用。我不了解使用vs 或全局方法的好处。 问题答案: 原因是无论内容类型如何,都将在请求的HTTP标头之后返回所有原始数据。 PHP superglobal 仅 应 包装以下任一数据 (用于简单表单发布的标准内容类型)或 (主要用于文件上传) 这是因为这些是用户代理 必须 支持的唯一内容类型。因此,服务器和PHP传统上不
因此,我有一个带有注释功能的站点,其中注释的时间戳存储在MySQL数据库中。据我所知,时间戳在存储时转换为UTC,然后在检索时转换回默认时区。在我的例子中,我的服务器位于中央夏令时时区(CDT)。 我计划通过输入表单从每个用户那里获取时区。我只是想知道如何将时间戳值转换成用户的时区。 首先,我会将UTC转换为本地时区吗?或CDT到本地时区? 其次,我将如何在PHP中实现这一点?我只想: ...还是
php tags allow php to be embedded directly into the template. They will not be escaped, regardless of the $php_handling setting. This is for advanced users only, not normally needed. php 标签允许在模板中直接嵌入
PHP 网站应用如果是用 PHP 语言编写的,对 PHP 文件的请求需要用到 PHP 的解释器,它跟 Web 服务器之间需要用到 PHP-FPM。Web 服务器会把请求转发给 PHP-FPM,PHP-FPM 会使用 PHP 解释器处理请求,把结果再交给 Web 服务器。 搜索: yum search php 要安装的 PHP 的版本有很多选择,你得根据要运行的网站的需求,去安装网站应用推荐使用的
请参考:http://www.kancloud.cn/manual/thinkphp/1819
PHP(Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页 目录结构CentOS /etc/php.ini: 配置文件,用来配置文件上传大小、内存、执行时间等 /etc/php-fpm.conf: PHP-FPM 配置文件