Thời gian thực hiện PHP

Nếu bạn có một thiết lập WordPress lớn hoặc một máy chủ có tài nguyên hạn chế, thì bạn sẽ thường thấy lỗi “504 Gateway Time-out”

Bạn có thể làm theo các bước dưới đây để tăng giá trị thời gian chờ. PHP mặc định là 30s

Thay đổi trong php. ban đầu

Nếu bạn muốn thay đổi giới hạn thời gian thực thi tối đa cho các tập lệnh php từ 30 giây [mặc định] thành 300 giây

vim /etc/php5/fpm/php.ini

Bộ…

max_execution_time = 300

Trong Apache, các ứng dụng chạy PHP như một mô-đun ở trên sẽ đủ. Nhưng trong trường hợp của chúng tôi, chúng tôi cần thực hiện thay đổi này ở 2 địa điểm nữa

Thay đổi trong PHP-FPM

Điều này chỉ cần thiết nếu bạn đã hủy nhận xét tham số request_terminate_timeout trước đó. Nó được nhận xét theo mặc định và có giá trị là max_execution_time được tìm thấy trong php. ban đầu

Nên sử dụng đồng hồ để tính toán. Nếu bạn biết thời gian trước và sau khi thực thi tập lệnh, bạn sẽ dễ dàng lấy được thời gian thực thi

Hãy xem một mẫu kịch bản

Hàm microtime[] được sử dụng để lấy thời gian của đồng hồ. Đầu tiên, nó nên được sử dụng trước khi tập lệnh bắt đầu, sau đó, khi kết thúc tập lệnh. Sau đó, nên sử dụng công thức [End_time – Start_time]

Với sự trợ giúp của hàm microtime[], thời gian được trả về tính bằng giây. Thời gian thực hiện không cố định, do bộ xử lý quyết định

Để chính xác hơn, hãy xem một ví dụ

Đầu ra của ví dụ này sẽ hiển thị thời gian thực thi của tập lệnh

  Execution time of script = 1.4305651187897 sec

Hàm microtime[] của PHP được sử dụng để trả về dấu thời gian Unix hiện tại. Nó trả về một chuỗi tính bằng micro giây

Bài viết này mô tả cách thay đổi thời gian thực thi tối đa cho các tập lệnh PHP bằng cách sử dụng chỉ thị max_execution_time trong tệp php. tập tin ini

Thông tin trong bài viết này chỉ áp dụng cho một số loại tài khoản lưu trữ. Để xác định xem thông tin bên dưới có áp dụng cho tài khoản của bạn hay không, vui lòng xem bài viết này

Bài viết này giả định rằng bạn đã thiết lập một php tùy chỉnh. ini trên trang web của bạn. Nếu bạn chưa thiết lập một php tùy chỉnh. ini, vui lòng đọc bài viết này trước

Theo mặc định, thời gian thực thi tối đa cho các tập lệnh PHP được đặt thành 30 giây. Nếu tập lệnh chạy lâu hơn 30 giây, PHP sẽ dừng tập lệnh và báo lỗi. Bạn có thể kiểm soát lượng thời gian PHP cho phép tập lệnh chạy bằng cách thay đổi chỉ thị max_execution_time trong php của bạn. tập tin ini

Để thay đổi thời gian thực hiện tối đa, hãy sử dụng trình soạn thảo văn bản để sửa đổi lệnh max_execution_time trong php của bạn. tập tin ini. Ví dụ: để đặt thời gian thực hiện tối đa thành 10 giây, hãy sử dụng cài đặt sau

max_execution_time = 10

Để xác minh giá trị hiện tại của lệnh max_execution_time và các lệnh khác, bạn có thể sử dụng hàm phpinfo[]. Để biết thêm thông tin, vui lòng xem bài viết này

Các nhà phát triển PHP mới có thể không biết rằng mọi tập lệnh bạn chạy đều có 30 giây để hoàn thành. Nếu các yêu cầu API, giao dịch cơ sở dữ liệu và quá trình xử lý dữ liệu của bạn không hoàn thành kịp thời, bạn sẽ gặp phải tình trạng máy chủ hết thời gian chờ. Điều này là do PHP giúp ngăn chặn các tập lệnh được viết kém khỏi máy chủ

Hầu hết các nhà phát triển sẽ dành thời gian tìm cách giải quyết trên Google thay vì tập trung vào thực tế rằng hành vi này không phải là lỗi. Trên thực tế, mọi người không nên đợi cả phút trở lên để trang của bạn tải hoặc xử lý để hoàn thành trong trình duyệt. Nó không phải là một trải nghiệm người dùng lý tưởng

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách đo thời gian cần thiết để gửi SMS bằng Tin nhắn có thể lập trình Twilio để có hiệu suất ứng dụng tốt hơn. Ở phần kết luận, bạn sẽ học được cách

  • Xây dựng một tập lệnh đơn giản để gửi SMS bằng PHP
  • Sử dụng hàm microtime[] của PHP để đo thời gian thực thi tập lệnh
  • Đưa ra quyết định hiệu quả hơn với ứng dụng của bạn

Bắt đầu

Chúng tôi sẽ chỉ viết một kịch bản ngắn cho hướng dẫn này. Kết quả là, bạn sẽ chỉ cần

  • Tài khoản Twilio [Nếu bạn chưa có, đây là $10 để bắt đầu]. Nếu bạn đã thiết lập tài khoản của mình, hãy đăng nhập để lấy SID tài khoản và Mã thông báo xác thực của bạn và sao chép chúng vào một vị trí an toàn trên máy tính của bạn
  • Trình soạn thảo [trình quản lý phụ thuộc PHP], được cài đặt trên toàn cầu

Tại thời điểm này, giả định đang được đưa ra rằng bạn đã cài đặt PHP cục bộ

Tạo một tập lệnh PHP mới có tên là script-time. php ở vị trí bạn chọn. Nếu bạn đang sử dụng máy dựa trên linux, bạn có thể sử dụng lệnh sau

$ touch script-time.php

Thêm Trình soạn nhạc vào dự án và khởi tạo một trình soạn nhạc mới. json cho phép chúng tôi thêm Twilio SDK vào dự án này

$ composer init

Thêm Twilio SDK cho PHP vào dự án

$ composer require twilio/sdk

Bây giờ hãy mở script-time. php trong trình chỉnh sửa mã yêu thích của bạn [hoặc IDE] và

$ composer init
0 nó ở đầu tệp

require __DIR__ . '/vendor/autoload.php';

use Twilio\Rest\Client;

Điều này sẽ xác định Twilio Rest Client và cung cấp nó để sử dụng để gửi SMS. Cho đến thời điểm này, đây là quy trình tiêu chuẩn để thêm Twilio SDK vào bất kỳ dự án PHP nào

Xác định thông tin đăng nhập Twilio của bạn

Thông tin đăng nhập Twilio của bạn sẽ được yêu cầu để thực sự kết nối với API Twilio. Để bắt đầu, hãy xác định ba biến mới

$ composer init
1,
$ composer init
2 và
$ composer init
3 để giữ SID tài khoản, Mã thông báo xác thực và Số điện thoại Twilio của bạn tương ứng. Nếu bạn cần mua một số, bạn có thể làm như vậy từ bảng điều khiển Twilio

Thêm mã sau vào bên dưới khai báo trước đó

max_execution_time = 300
3

GHI CHÚ. SID tài khoản của bạn không bao giờ được sử dụng trong môi trường sản xuất

Tập lệnh này gần như đã sẵn sàng để gửi tin nhắn văn bản. Tạo biến

$ composer init
4 mới để giữ Ứng dụng khách Twilio Rest mới được khởi tạo, được xác thực bằng thông tin đăng nhập của bạn

max_execution_time = 300
5

Gửi tin nhắn SMS

Một biến

$ composer init
5 sẽ được thêm vào để ghi lại quá trình bắt đầu gửi SMS. Nó sử dụng chức năng PHP
$ composer init
6 tích hợp để ghi lại thời gian bắt đầu

max_execution_time = 300
8

Tiếp theo, thêm đoạn mã sau để gửi tin nhắn văn bản mẫu

max_execution_time = 300
9

Sau khi thay thế “số điện thoại của bạn” bằng số điện thoại thực của bạn để nhận tin nhắn, mã này có đầy đủ chức năng để truyền và SMS

Bây giờ hãy ghi lại khi cuộc gọi API hoàn tất, tính chênh lệch thời gian và hiển thị kết quả

0

Đo thời gian thực thi tập lệnh

Đã đến lúc kiểm tra tập lệnh của bạn bằng cách chạy tập lệnh trong dòng lệnh của bạn

1

Tôi khuyên bạn nên chạy cái này và ghi lại kết quả ít nhất ba lần

Mất bao lâu để gửi? . 33 giây

Hãy nhớ rằng, thời gian thực thi tối đa của tập lệnh PHP là 30 giây. Tùy thuộc vào môi trường lưu trữ của bạn, bạn có thể hoặc không thể thay đổi giá trị này cho ứng dụng của mình. Ngoài ra, khi xem xét điều gì là tốt nhất cho hiệu suất, bạn thực sự không nên để người đang sử dụng ứng dụng của mình đợi lâu hơn 30 giây để tập lệnh xử lý trong trình duyệt của họ

Hãy làm một số phép toán

[30 giây /. 33 giây cho mỗi tin nhắn] = 90 lệnh gọi API trước thời gian chờ mặc định. Điều này có nghĩa là nếu bạn có một mảng có 100 số, tập lệnh của bạn sẽ hết thời gian trước khi gửi

Phần kết luận

Với kiến ​​thức này trong tay, giờ đây bạn có thể đưa ra quyết định sáng suốt hơn về việc xây dựng ứng dụng dựa trên liên lạc của mình. Có lẽ bạn cần cấu trúc lại mã của mình? . Dù bằng cách nào, giờ đây bạn có thể xây dựng có chủ ý và hiệu quả hơn

Trong bài đăng tiếp theo, tôi sẽ chỉ cho bạn cách xử lý 1000 tin nhắn trở lên trong cửa sổ 30 giây này bằng Twilio Notify

Marcus Battle là Quản lý cấp cao của Developer Voices tại Twilio, nơi ông nhắc nhở và tập hợp các nhà phát triển xây dựng tương lai của truyền thông. Anh ta có thể đạt được thông qua

Làm cách nào để kiểm tra thời gian thực thi PHP?

Có thể lấy thời gian trên đồng hồ bằng cách sử dụng hàm microtime[] . Lần đầu tiên sử dụng nó trước khi bắt đầu tập lệnh và sau đó ở cuối tập lệnh. Sau đó sử dụng công thức [End_time – Start_time]. Hàm microtime[] trả về thời gian tính bằng giây.

Làm cách nào để đặt thời gian thực hiện trong PHP?

Để 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 ini . cú pháp. ini_set['setting_name', value];

Làm cách nào để giảm thời gian thực hiện trong PHP?

Các cách thay đổi thời gian thực thi chương trình PHP . tìm kiếm php. ini cho chỉ thị max_execution_time và chỉnh sửa giá trị mặc định của nó theo yêu cầu. Sử dụng hàm ini_set[] trong chương trình PHP bằng cách chỉ định php. Use PHP function set_time_limit[] that accepts execution time limit in seconds as its argument. Search the php. ini file for a max_execution_time directive and edit its default value as required. Use ini_set[] function in a PHP program by specifying php.

Thời gian thực hiện mặc định cho các tập lệnh PHP là gì?

Giới hạn mặc định là 30 giây hoặc, nếu có, giá trị max_execution_time được xác định trong php. ban đầu. Khi được gọi, set_time_limit[] khởi động lại bộ đếm thời gian chờ từ 0

Chủ Đề