Trong quá trình thực thi tập lệnh PHP, chúng tôi có thể gặp phải lỗi nghiêm trọng do vượt quá thời gian tối đa. Thời gian thực hiện tối đa mặc định của tập lệnh PHP là 30 giây. Vì vậy, nếu quá trình chạy tập lệnh vượt quá 30 giây thì hệ thống sẽ báo lỗi. Có thể có trường hợp thời gian chạy tập lệnh mất hơn 30 giây. Trong những tình huống đó, chúng tôi phải tăng thời gian thực hiện. Điều này có thể được thực hiện bằng hàm ini_set[]
ini_set[]. Hàm ini_set[] được sử dụng để sửa đổi cài đặt trong php. tập tin ini. Nó chấp nhận hai tham số, một là tên của cài đặt sẽ được sửa đổi và tham số còn lại là giá trị được gán. Để tăng thời gian thực hiện, chúng tôi sử dụng một chuỗi có tên là “max_execution_time“, đây là một tên cài đặt trong php. tập tin ini.
cú pháp
ini_set['setting_name', value];
Thông số
- setting_name. Nó chỉ định tên của cài đặt chúng ta cần sửa đổi
- giá trị. Gán giá trị cho cài đặt
Ghi chú. Hàm ini_set[] này phải được chỉ định trong dòng đầu tiên của tập lệnh
Chúng ta hãy xem xét một vài ví dụ sử dụng hàm ini_set[] để tăng thời gian thực hiện
ví dụ 1. Đoạn mã dưới đây thậm chí không mất một giây để thực thi nhưng chúng tôi đã tăng giới hạn thời gian thực thi tối đa lên 60 giây
PHP
GFG Learning portal4
GFG Learning portal5
GFG Learning portal6
GFG Learning portal7
GFG Learning portal8
GFG Learning portal9
GFG Learning portal0
GFG Learning portal5
GFG Learning portal1
GFG Learning portal5
GFG Learning portal3
GFG Learning portal4
GFG Learning portal5
đầu ra
GFG Learning portal
ví dụ 2. Chúng ta cũng có thể đặt thời gian thực hiện tối đa thành không giới hạn bằng cách cung cấp giá trị 0 cho hàm ini_set[]. Nhưng nó không phải là một cách tiếp cận lý tưởng để làm theo. Chúng ta hãy xem mã về cách đặt thời gian thực hiện tối đa thành “không giới hạn”
Chỉ thị max_execution_time xác định thời gian thực thi tối đa cho các tập lệnh và ứng dụng PHP của bạn. Nếu không được định cấu hình, thời gian thực thi tối đa mặc định cho tập lệnh PHP là 30 giây. PHP sẽ hết thời gian chờ và thoát với lỗi nghiêm trọng khi đạt đến giới hạn thời gian
Fatal error: Maximum execution time of 30 seconds exceeded in yourscript.php
Bạn có thể đặt giới hạn thời gian của PHP bằng cách định cấu hình tùy chọn max_execution_time để tập lệnh của bạn không hết thời gian chờ và thoát với lỗi
Có một số phương pháp để đặt tùy chọn, chẳng hạn như định cấu hình tệp php. ini, sử dụng các hàm ini_set[] và set_time_limit[] và sử dụng. tập tin htaccess. Mặt khác, cPanel cho phép thiết lập tùy chọn max_execution_time từ giao diện web
Các phương pháp tăng giới hạn thời gian thực thi tối đa cho PHP
Cách tiếp cận này sẽ ảnh hưởng đến tất cả các tập lệnh PHP đang chạy trong hệ thống của bạn. Đó là giải pháp tốt nhất nếu bạn đang chạy một hệ thống hoặc khung quản lý nội dung như WordPress hoặc Drupal vì bạn không cần định cấu hình tùy chọn theo cách thủ công cho tất cả các tập lệnh bị ảnh hưởng
Đặt max_execution_time trong tệp cấu hình PHP của bạn thành số giây muốn cho phép các tập lệnh PHP của bạn thực thi
mở php. ini bằng trình soạn thảo văn bản yêu thích của bạn.
$ sudo vi /etc/php/7.2/apache2/php.ini
Tìm chỉ thị max_execution_time. ________số 8
Đặt giá trị cho max_execution_time tính bằng giây.
max_execution_time = 300
Đặt nó thành 0 sẽ không áp đặt bất kỳ giới hạn thời gian nào đối với việc thực thi các tập lệnh PHP của bạn
Không nên đặt giá trị thành 0 ở cấp độ này vì thay đổi trên toàn hệ thống của phương thức này sẽ khiến mọi tập lệnh PHP hoạt động sai tiêu tốn thời gian quý giá của CPU một cách không cần thiết
Khởi động lại máy chủ web của bạn.
GFG Learning portal
0
Về cơ bản, nó giống như giải pháp trước đó, nhưng nó thực sự là một chức năng bạn gọi từ tập lệnh PHP của mình. Đó là một chức năng chung để ghi đè bất kỳ tùy chọn cấu hình nào được đặt trong tệp cấu hình PHP của bạn và chỉ ảnh hưởng đến việc thực thi các tập lệnh gọi hàm
Khi được đặt ở đầu tập lệnh PHP của bạn, lệnh gọi hàm sau sẽ cho phép tập lệnh chạy trong 300 giây [5 phút]
GFG Learning portal1
Lời gọi hàm phải được đặt trong các tệp được chia sẻ, chẳng hạn như tệp cấu hình cho CMS và khung. Đối với WordPress, đó là cài đặt wp. php.
Đây là một chức năng tích hợp sẵn của PHP đặc biệt để đặt giới hạn thời gian thực thi tối đa cho các tập lệnh PHP của bạn. Nó sẽ được gọi từ tập lệnh PHP của bạn như trong phương thức trước đó và ví dụ sau cũng đặt giới hạn thành 300 giây [5 phút]
GFG Learning portal2
Đây là tùy chọn tốt nhất nếu bạn không có quyền truy cập của quản trị viên vào hệ thống của mình nhưng vẫn muốn đặt tùy chọn cho tất cả các tập lệnh trong thư mục dự án của mình
Thêm các dòng sau vào. htaccess trong thư mục dự án PHP của bạn và điều này sẽ được áp dụng cho tất cả các tập lệnh trong thư mục đó
GFG Learning portal3
Sử dụng mod_php5. c nếu bạn đang lưu trữ trên PHP 5
htaccess là một giải pháp dành riêng cho Apache
Tùy chọn này có sẵn trong bảng điều khiển cPanel và có thể được sử dụng để thay đổi giới hạn thời gian thực thi tối đa của PHP