Cách chạy một đường dẫn trong website mà không bị timeout trong php

Pham Kha
17:49 20-01-2023
2163

Sau đây là 2 cách thường dùng khi chạy một file php hay một đường dẫn cần chạy trong thời gian dài. Ví dụ như bạn crawl dữ liệu của website khác sẽ cần rất nhiều thời gian.

Cách 1: Thay đổ thông số file php.ini

Bạn tìm file php.ini trong phần mềm tạo máy chủ php mà bạn đang sử dụng. Nếu bạn sử dụng wamp để làm máy chủ php thì đường dẫn mặc định sẽ là: C:\wamp64\bin\php\php8.1.0\php.ini 

// Bằng 0 nghĩa là không giới hạn thời gian
max_execution_time = 0 

Cách này không nên áp dụng khi đưa lên server vì khi bạn để như vậy thì tất cả mọi người đều request thời gian không giới hạn sẽ dễ làm máy chủ bị sập hay quá tải. Chúng ta nên áp dụng cách 2 nếu bạn có quyền chạy lệnh trên server ở đây mình đang dùng VPS.

Cách 2: Chạy bằng dòng lệnh (khuyến khích)

Mình rất thường dùng cách này vì nó có thể áp dụng khi đưa lên VPS. Để chạy một file php thì bạn sẽ thực hiện như sau:

//Tương đương với http://domain.com/index.php/API/Controller/yourFunction
php /var/www/html/index.php API Controller yourFunction
  • Trong đó bắt đầu bằng từ khoá php
  • Tiếp theo là vị trí file index.php 
  • Tham số còn lại là các thành phần trong url cụa bạn

Cách chạy một đường dẫn trong website mà không bị timeout trong php

Đây là kết quả khi chạy bằng dòng lệnh. Run cả ngày mà không bị timeout hay gì cả

Mong rằng qua bài viết này các bạn có thể chạy được những file php không bị giới hạn thời gian (request timeout). Đây là cách mình đang sử dụng, nếu bạn có cách hay hỡn hãy chia sẽ với mình nhé.

Bài viết mới