【问题标题】:PHP Website not responding while streaming a videoPHP网站在流式传输视频时没有响应
【发布时间】:2015-02-16 13:24:34
【问题描述】:

我的网站是使用纯 PHP 和 MySQL 开发的 在流式传输视频时“请尝试此链接” Here

如果您点击任何名为“مشاهدة”的按钮,网站将不会响应任何其他请求,例如导航到任何其他页面。

这是我的 Stream.php 文件的代码

<?php

session_start();
require("includes/connect.php");

set_time_limit(0);
if(isset($_GET["file"])){
    if(!isset($_GET["start"])) $_GET["start"] = 0;
    $seekPos = $_GET["start"];
    $file = htmlspecialchars($_GET["file"]);
    $fileName = basename($file);
    $file = $config["videoFilesPath"]."/".$fileName;
    if(!file_exists($file)) die("file does not exist: $file");
    $fh = fopen($file, "rb") or die("failed to open file");
    fseek($fh, 0, SEEK_END); $seek_end = ftell($fh);
    fseek($fh, $seekPos); $seek_start = ftell($fh);
    $fileSize =  $seek_end - $seek_start;
    session_cache_limiter('nocache');
    header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    header("Pragma: no-cache");
    header("Content-Type: video/x-flv");
    //header("Content-Disposition: attachment; filename=\"" . $fileName . "\"");
    header('Content-Length: ' . $fileSize);
    if($seekPos != 0){
        print("FLV");
        print(pack('C', 1 ));
        print(pack('C', 1 ));
        print(pack('N', 9 ));
        print(pack('N', 9 ));
    }
    fseek($fh, $seekPos);
    $i=1;
    while (true){
        $var = fread($fh, 1024);
        if($var==false) break;
        echo $var;
        if(++$i%(1<<20)) ob_flush();
    }
    fclose($fh);
}

【问题讨论】:

    标签: php video stream


    【解决方案1】:

    session_start() 打开并锁定会话文件,因此您必须在任何长时间运行的进程之前调用session_write_close()

    session_start();
    require("includes/connect.php");
    session_write_close();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-22
      • 1970-01-01
      • 1970-01-01
      • 2014-01-28
      • 2012-10-25
      • 2013-09-03
      • 1970-01-01
      • 2021-08-07
      相关资源
      最近更新 更多