当前位置:网站首页 >  攻略

EyouCMS视频上传功能配置与优化完整指南

时间:2026年05月23日 07:37:38 来源:易频IT社区

一、核心配置前的准备工作

确保你的EyouCMS系统版本为V1.5.0及以上,这是支持视频上传功能的最低版本要求。登录后台,进入【系统】-【系统设置】-【上传设置】页面,这是所有配置的起点。

1.1 检查服务器环境

视频上传对服务器环境有特定要求,请在服务器终端执行以下命令进行验证:

``` php -v PHP版本需 >= 7.3 php -m | grep -E "fileinfo|gd|pdo_mysql" 确认关键扩展已安装 ```

同时,检查以下目录的读写权限(通常要求0755或0777):

  • /public/uploads/
  • /runtime/
  • Nginx/Apache运行用户(通常是www-data或nginx)对上述目录拥有写入权限

二、后台视频上传参数详细配置

在【上传设置】页面,找到【视频上传】配置区块,进行如下设置:

2.1 基础参数设置

将以下参数填入对应表单:

  • 允许上传的视频大小:设置为`102400`(单位KB,即100MB)
  • 允许上传的视频格式:填入`mp4,avi,mov,wmv,flv,mkv,webm`
  • 视频封面自动截取:选择“是”
  • 截图时间点:设置为`3`(表示截取视频第3秒的画面作为封面)

2.2 存储路径配置

修改视频存储目录,避免与图片混存:

``` 视频上传路径:/public/uploads/video/{year}{mon}{day}/ 视频访问URL:/uploads/video/{year}{mon}{day}/ ```

{year}{mon}{day}是系统变量,会自动替换为上传时的年月日,实现按日期分目录存储。

三、Nginx服务器关键配置调整

如果使用Nginx,必须修改站点配置文件,否则会上传大视频文件失败。

3.1 修改Nginx客户端最大Body大小

打开你的站点Nginx配置文件(通常在`/etc/nginx/sites-available/`目录下),在server块内添加:

``` client_max_body_size 100m; ```

保存后,执行以下命令测试配置并重载:

``` nginx -t systemctl reload nginx ```

3.2 调整PHP上传限制

编辑PHP配置文件(如`/etc/php/7.4/fpm/php.ini`),找到并修改以下参数:

``` upload_max_filesize = 100M post_max_size = 100M max_execution_time = 300 max_input_time = 300 ```

修改后重启PHP-FPM服务:

``` systemctl restart php7.4-fpm ```

四、视频转码与压缩配置(可选但推荐)

为节省存储空间和带宽,可以配置视频自动转码。

4.1 安装FFmpeg

在CentOS/RHEL系统上执行:

``` yum install epel-release yum install ffmpeg ffmpeg-devel ```

在Ubuntu/Debian系统上执行:

``` apt update apt install ffmpeg ```

EyouCMS视频上传功能配置与优化完整指南

安装后验证:

``` ffmpeg -version ```

4.2 配置EyouCMS视频转码

在系统根目录的`config`文件夹下,找到或创建`video.php`配置文件,内容如下:

``` true, // FFmpeg路径 'ffmpeg_path' => '/usr/bin/ffmpeg', // 转码输出格式 'output_format' => 'mp4', // 视频码率(控制文件大小) 'video_bitrate' => '1000k', // 音频码率 'audio_bitrate' => '128k', // 视频分辨率(保持原比例) 'resolution' => '1280:720', // 转码后是否删除原文件 'delete_original' => false, ]; ?> ```

五、前端模板调用视频方法

配置完成后,需要在模板中正确调用上传的视频。

5.1 单视频调用

在文章或产品详情模板中,使用以下代码:

``` {if $video} {/if} ```

5.2 多视频列表调用

如果需要展示视频列表,使用以下循环代码:

``` {foreach $video_list as $key=>$vo}

{$vo.title}

{/foreach} ```

六、常见问题与即时解决方案

6.1 上传时提示“文件过大”

按顺序检查以下三项配置是否匹配:

  1. EyouCMS后台【上传设置】中的视频大小限制
  2. PHP配置文件中的`upload_max_filesize`和`post_max_size`
  3. Nginx配置文件中的`client_max_body_size`

三者必须同时大于你要上传的视频文件实际大小。

6.2 上传后无法播放

首先检查视频文件的HTTP访问权限。在浏览器中直接访问视频URL,如果返回403错误,执行:

``` chmod -R 755 /public/uploads/video/ chown -R www-data:www-data /public/uploads/video/ Ubuntu/Debian 或 chown -R nginx:nginx /public/uploads/video/ CentOS ```

6.3 视频封面截图失败

检查FFmpeg是否正确安装,并在EyouCMS后台的【系统】-【系统设置】-【存储设置】中,确认【视频封面自动截取】已开启。如果仍失败,手动执行命令测试FFmpeg:

``` ffmpeg -i /path/to/your/video.mp4 -ss 00:00:03 -vframes 1 /tmp/test_cover.jpg ```

6.4 上传进度条不显示

这是JavaScript兼容性问题。确保你的模板头部加载了jQuery和EyouCMS的上传组件:

``` ```

七、安全加固建议

视频上传功能存在安全风险,必须进行加固。

7.1 严格限制上传格式

不要仅靠前端验证,必须在后端`app/common.php`中添加文件类型检查:

``` function checkVideoType($filename) { $allowed = ['mp4', 'avi', 'mov', 'wmv', 'flv', 'mkv', 'webm']; $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); return in_array($ext, $allowed); } ```

7.2 防止视频文件被直接执行

在视频上传目录中创建`.htaccess`文件(Apache)或Nginx配置中添加:

``` location ~ /uploads/video/.\.(php|php5|sh|pl|py)$ { deny all; return 403; } ```

7.3 定期清理临时文件

设置Cron任务,每天清理超过24小时的未完成上传临时文件:

``` 0 2 find /public/uploads/tmp/ -type f -mtime +0 -name ".tmp" -delete ```

完成以上所有步骤后,你的EyouCMS视频上传功能已完全配置就绪。测试时,请依次上传小文件(<10MB)、中等文件(~50MB)和大文件(~100MB)验证全流程,确保从上传、存储到播放的每个环节都工作正常。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图