Php ob_flush nginx

Tôi đang cố gắng chứng minh một trang kiểu sao chổi và để khởi động nó, tôi nghĩ rằng tôi sẽ đặt một bộ đếm đơn giản trong PHP để xuất 0->3 với độ trễ một giây giữa mỗi đầu ra và xóa nó để sàng lọc mỗi giây. Vấn đề là không có gì tôi đã thử thực sự quản lý để xóa bộ đệm. Nó chỉ nằm đó với công cụ quay vòng tải và sau 4 giây sẽ đổ rất nhiều thứ lên màn hình cùng một lúc. Tôi đã tìm hiểu và đã đặt cấu hình nginx như sau

user www-data;

worker_processes  1;



error_log  /var/log/nginx/error.log;

pid        /var/run/nginx.pid;



events {

    worker_connections  1024;

     multi_accept on;

}



http {

    include       /etc/nginx/mime.types;



    access_log    /var/log/nginx/access.log;



    sendfile        on;

    tcp_nopush     on;



    #keepalive_timeout  0;

    keepalive_timeout  65;

    tcp_nodelay        on;



#----------------------------------------------

#    fastcgi_keep_conn on;

    proxy_buffering off;

    gzip off;

#----------------------------------------------

    gzip_disable "MSIE [1-6]\.(?!.*SV1)";



    include /etc/nginx/conf.d/*.conf;

    include /etc/nginx/sites-enabled/*;

}

Tôi đã phải nhận xét fastcgi_keep_con trên;

 

Sau đây là trang PHP

";

      ob_flush();

      flush();

      sleep(1);

    }



ob_end_clean();

?>

Bất cứ ý tưởng những gì tôi đang mất tích ở đây?

Liên kết để bình luận
Chia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Php ob_flush nginx

trq

Đăng ngày 28 tháng 8 năm 2013

trq

  • Php ob_flush nginx

  • cựu nhân viên
  • Php ob_flush nginx
    • 31k

    • Chia sẻ

Đăng ngày 28 tháng 8 năm 2013

Bạn đang sử dụng giao thức sai cho loại điều này. http không được thực hiện để làm những gì bạn yêu cầu về nó

Hàm ob_flush() xuất nội dung của bộ đệm đầu ra trên cùng và sau đó xóa bộ đệm của nội dung. Đầu ra có thể được bắt bởi một bộ đệm đầu ra khác hoặc, nếu không có bộ đệm đầu ra nào khác, được gửi trực tiếp đến trình duyệt

Nginx là máy chủ web được sử dụng rộng rãi bởi nhiều tính năng tuyệt vời của nó. Bạn có thể cài đặt Nginx, PHP và MySQL trên Windows để trải nghiệm

Nếu như bạn đã chạy máy chủ web ở máy chủ cục bộ trên máy tính để thử trải nghiệm các trang web trên Windows, chắc chắn bạn đã sử dụng qua Apache thông qua XAMPP, Apache Lounge… Nếu yêu thích Nginx, bạn cũng có thể cài đặt Nginx trên Windows . Nếu bạn chưa biết đến Nginx hoặc chưa sử dụng nó, bạn có thể trải nghiệm nó ngay trên Windows của mình

Php ob_flush nginx
Bài viết này sẽ hướng dẫn bạn cài đặt Nginx chạy PHP thông qua FastCGI và MySQL trên Windows 7/8/10 một cách dễ dàng nhất. Bạn có thể cài đặt chúng trên ổ đĩa D, E hoặc trên tùy chọn USB. Khi bạn cài lại Win hay Ghost cũng không sợ mất dữ liệu trên Nginx và MySQL nhé

Để truy cập vào các thư mục cài đặt và cấu hình của Nginx, PHP và MySQL, bạn nên tạo một thư mục để chứa tất cả chúng. Ở đây mình sẽ tạo một thư mục là Web trên ổ D, các bạn có thể lưu nó vào USB hoặc bất cứ đâu.

Cài đặt Nginx

Trước tiên, bạn cần tải bản Nginx cho Windows và giải nén ở bất kỳ đâu mà bạn muốn. Mình sẽ giải nén và đổi tên thư mục thành nginx cho dễ nhìn và copy vào D. \Web, bạn sẽ có đường dẫn thư mục của Nginx là D. \Web\nginx

Bây giờ bạn có thể chạy Nginx bằng cách chạy tệp nginx. exe trong thư mục D. \Web\nginx. Bạn cũng có thể khởi động Nginx, tải lại hoặc dừng Nginx bằng cách sử dụng lệnh qua cmd

Để quản lý Nginx bằng lệnh trong cmd, bạn nên truy cập thư mục gốc của Nginx. Mở Command Prompt hoặc chạy cmd

cd /d d:\Web\nginx

Sau khi đã chuyển đến thư mục gốc của Nginx, bạn có thể sử dụng các lệnh sau

start nginx
# Khởi động nginx

nginx -s stop
# Dừng nginx

nginx -s quit
# Thoát nginx, cái này là thoát hết ứng dụng Nginx đang chạy

nginx -s reload
# Load lại nginx khi bạn thay đổi cấu hình của Nginx

nginx -s reopen
# Mở file logs

Sau khi khởi động nginx, bạn truy cập http. //localhost xem sao

Chào mừng đến nginx

Nếu bạn thấy trang này, máy chủ web nginx đã được cài đặt và hoạt động thành công. Cần cấu hình thêm

Để biết tài liệu và hỗ trợ trực tuyến, vui lòng tham khảo nginx. tổ chức
Hỗ trợ thương mại có sẵn tại nginx. com

Cảm ơn bạn đã sử dụng nginx

Cấu hình để Nginx chạy PHP FastCGI trên Windows

Cũng như Linux CentOS hay Ubuntu, bạn có thể chạy PHP thông qua FastCGI bằng giao thức TCP. Để Nginx có thể giao tiếp với PHP thông qua FastCGI, bạn cần chỉnh sửa lại cấu hình tệp nginx. conf

Mở tệp nginx. conf trong D. \Web\nginx\conf, tìm đến đoạn này và chính sửa lại như sau

        location / {
            root   html;
            index  index.php index.html index.htm;
        }

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
  1. Loại bỏ dấu “#” ở trước mỗi dòng trên
  2. Thêm chỉ mục. php vào “vị trí /“
  3. Change /scripts to $document_root

127. 0. 0. 1. 9000 là nơi PHP FastCGI sẽ xử lý các tệp PHP

Tạo một tập tin phpinfo. php trong thư mục D. \Web\nginx\html với nội dung như sau để kiểm tra php

Bây giờ, bạn thử start nginx hoặc nginx -s reload quay lại và vào địa chỉ http://localhost/phpinfo.php để kiểm tra

Nếu bạn gặp lỗi 504 Hết thời gian chờ cổng như thế này là do bạn chưa cài đặt PHP trên Windows hoặc chưa cấu hình đúng cách. Bạn cần cài đặt PHP và cấu hình ở bước tiếp theo

Đã xảy ra lỗi

Xin lỗi, trang bạn đang tìm kiếm hiện không có
Vui lòng thử lại sau

Nếu bạn là quản trị viên hệ thống của tài nguyên này thì bạn nên kiểm tra nhật ký lỗi để biết chi tiết

Trung thực của bạn, nginx

Cài đặt PHP trên Windows

Ở đây mình sẽ hướng dẫn bạn cài đặt PHP trên Windows và chạy PHP thông qua CGI/FastCGI trên một địa chỉ TCP như đã cấu hình cho Nginx

Bạn vào trang PHP cho Windows và tải xuống bản PHP mà bạn muốn về máy. Hiện tại đã có phiên bản PHP 7, bạn có thể tải về cài đặt để trải nghiệm cũng được. Ở đây mình sẽ chọn bản PHP 7 VC15 x64 Thread Safe

  • Nếu bạn tải xuống bản VC9 thì bạn phải cài đặt Visual C++ Redistributable cho Visual Studio 2008 SP1 (64 bit hoặc 32 bit)
  • Nếu bạn tải xuống bản VC11 thì bạn phải cài đặt Visual C++ Redistributable cho Visual Studio 2012 (64 bit hoặc 32 bit)
  • Nếu bạn tải xuống bản VC15 thì bạn phải cài đặt Visual C++ Redistributable cho Visual Studio 2017 (64-bit hoặc 32-bit)

Các bạn tải và cài đặt các bản Visual C++ 32 bit hoặc 64 bit đúng theo bản PHP mà bạn chọn nhé

Giải nén tệp ZIP của PHP mà bạn đã tải xuống một thư mục mới, ở đây mình chọn thư mục php7. Nếu bạn tải xuống phiên bản PHP 5 thì có thể đặt tên thư mục là php5 (hoặc là tải xuống và cài đặt cả hai). Sau đó sao chép thư mục php7 này vào D. \Web ngang hàng với thư mục gốc của Nginx để dễ quản lý nhé. Sau khi giải nén và sao chép, bạn sẽ có thư mục gốc PHP là D. \Web\php7

Tạo tập tin php. ban đầu

To create php file. ini cho PHP, you into root directory D. \Web\php7, sao chép tệp php. ini-Production to a new file and change name to php. ban đầu. Đây sẽ là file cấu hình cho PHP của bạn

Configure to enable the extension for PHP

Để PHP của bạn hỗ trợ các tính năng hay các chức năng mà bạn muốn chạy trang web, bạn cần phải bật tiện ích mở rộng cho PHP. PHP extension hay còn gọi là các mô-đun PHP nằm trong thư mục ext, bạn cần khai báo nó trong php. ban đầu

Mở tệp php. ini and tìm đến dòng sau và xóa dấu “;”

extension_dir = "ext"

Để bật các tiện ích mở rộng (mô-đun) cho PHP, hãy tìm đến các dòng ;extension= tương ứng với các mô-đun mà bạn muốn bật và xóa dấu “;” . Ví dụ ở đây mình sẽ bật module php_curl, php_fileinfo, php_gd2, php_mysqli như sau

extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_mysqli.dll

Như vậy là xong phần tạo file php. ini và bật các mô-đun cần thiết cho PHP của bạn. Đừng quên lưu file php. ini back nhé

Cấu hình PHP FastCGI cho Nginx

Trong thư mục gốc PHP (D. \Web\php7), bạn sẽ nhìn thấy tệp php-cgi. người cũ. Bạn cần phải chạy tệp này trên một địa chỉ TCP giống như đã khai báo ở mục fastcgi_pass là 127. 0. 0. 1. 9000

Mở Command Prompt hoặc chạy cmd

________số 8_______

Now now to http. // localhost/phpinfo. php to check xem nginx đã chạy chưa PHP

Php ob_flush nginx
Nếu bạn thấy mục Server API là CGI/FastCGI thì bạn đã chạy PHP FastCGI cho Nginx thành công

Cài đặt MySQL trên Windows

MySQL là một trình quản lý cơ sở dữ liệu phổ biến, bạn có thể dễ dàng cài đặt MySQL trên Windows. Bạn cũng có thể thay vì cài đặt MySQL để có được hiệu quả tốt hơn

Start and stop fast for Nginx, PHP

Nếu bạn không quen sử dụng lệnh để bắt đầu và dừng Nginx, PHP thì bạn có thể thay thế bằng cách sử dụng tập lệnh

Khi khởi động PHP FastCGI trên TCP, bạn phải giữ cửa sổ Command Prompt để PHP có thể làm việc. Nếu bạn muốn ẩn cửa sổ này mà không làm mất kết nối PHP, bạn có thể sử dụng tiện ích RunHiddenConsole hữu ích

  1. Tải xuống RunHiddenConsole, giải nén và sao chép tệp RunHiddenConsole. exe vào D. \Web
  2. Tạo file start-nginx. bat with the content as after

    @ECHO TẮT
    echo Bắt đầu PHP FastCGI…
    đặt ĐƯỜNG = D. \Web\php7;%PATH%
    đặt PHP_FCGI_MAX_REQUESTS=0
    D. \Web\RunHiddenConsole. cũ D. \Web\php7\php-cgi. exe -b 127. 0. 0. 1. 9000
    tiếng vang
    echo Bắt đầu Nginx…
    cd / d D. \Web\nginx
    bắt đầu nginx
    ping 127. 0. 0. 1 -n 1>NUL
    tiếng vang
    tiếng vang
    tiếng vang
    ping 127. 0. 0. 1 >NUL
    LỐI RA

    Bạn chỉ cần nhấp vào tệp bắt đầu-nginx. bat để bắt đầu Nginx và PHP FastCGI

  3. Tạo tệp stop-nginx. bat với nội dung như sau

    @ECHO TẮT
    echo Đang dừng Nginx…
    taskkill /f /IM nginx. người cũ
    echo Đang dừng PHP FastCGI…
    taskkill /f /IM php-cgi. người cũ
    tiếng vang
    LỐI RA

    Chạy file stop-nginx. bat để dừng Nginx và PHP FastCGI

Vì vậy là bạn đã hoàn thành việc cài đặt Nginx, PHP và MySQL trên Windows một cách dễ dàng. Bây giờ chỉ là trải nghiệm theo cách của bạn thôi