Ping trong mã php

Nhiều người nhầm tưởng thời gian ping càng thấp thì máy chủ càng nhanh. Điều này không đúng chút nào. ngoại trừ khi Ping quá lâu còn vài ms hoặc vài chục ms cũng không ảnh hưởng nhiều

  1. Chỉ có thể đánh giá tốc độ kết nối của Ping từ máy tính chạy lệnh cmd đến máy chủ trả về kết quả. Đơn vị tính ở đây là mili giây (ms) = 1/1000 giây
  2. Only via cmd could not speak up the server fast or slow
  3. Quan trọng Dịch vụ Quý khách sử dụng trên VPS nhanh hay chậm (ví dụ web vào nhanh hay chậm) là trải nghiệm của người dùng. Ngoài ra còn vấn đề Ram, CPU, hiệu năng của máy chủ (Có thể so sánh hiệu năng máy chủ cùng Ram, CPU) kết nối mạng từ máy truy cập lên máy chủ…
  4. Ping quá chậm (trên 100ms) thì tốc độ sẽ ảnh hưởng, có thể làm băng thông kém, máy chủ hết tài nguyên hoặc đường đi của gói tin bị đi vòng quá xa. Tham khảo thêm bài viết này để hiểu rõ hơn Tracert

Ping trong mã php

>>Xem thêm. SVN Subversion là gì?

Cách sử dụng lệnh Ping trên cửa sổ

Bước 1. Vào Bắt đầu (cửa sổ gõ nút trên bàn phím) nhập cmd
Lúc này màn hình CMD đen xuất hiện

Bước 2. Gõ lệnh ping + dấu cách + IP/trang web cần ping
Ví dụ. ping hostingviet. vn

Bước 3. Kiểm tra các thông số máy chủ trả về

Pinging hostingviet.vn [42.112.30.41] with 32 bytes of data:
Reply from 42.112.30.41: bytes=32 time=3ms TTL=59


ping 172.217.170.174

0

ping 172.217.170.174

1

ping 172.217.170.174

2

ở đây chúng ta thường quan tâm nhất đến thông tin "time=3ms"

Thông số này chính là khoảng thời gian mà máy chủ phản hồi lại máy tính đang ping. Nếu con số này lên đến vài trăm hoặc vài ngàn thì Bạn nên kiểm tra lại

Vẫn theo mình dưới 30 tuổi là con số được chấp nhận. Tất nhiên nó còn phụ thuộc vào nhiều yếu tố khác nữa.
Giả sử Bạn dùng mạng gprs Hoặc 3G Nhưng sóng kém thì thời gian tăng lên hàng ngàn là chuyện bình thường.

Nhà cung cấp hosting tốt nhất Việt Nam Hosting Việt

Là đơn vị thuộc top 3 lĩnh vực dịch vụ lưu trữ website tại Việt Nam, Hosting Việt được đánh giá là nơi có hosting giá rẻ và luôn nhận được nhiều lời giới thiệu từ diễn đàn tin học về nơi mua host ở đâu tốt. Chỉ từ 50. 000đ/tháng, người dùng đã có ngay cho mình một host để thử sức học tập, nghiên cứu hoặc chạy demo website… Bên cạnh đó, Hosting Việt còn là đơn vị luôn tiên phong trong công nghệ điện toán đám mây (cloud hosting)

Hosting Việt có đa dạng gói dịch vụ, bên cạnh các gói giá siêu rẻ 50. 000đ/tháng, nhà cung cấp còn những vps giá rẻ chất lượng dành cho nhiều nhóm doanh nghiệp khác nhau. Các gói này luôn đáp ứng đầy đủ nhu cầu lưu trữ, truy cập hàng ngàn kẻ giết người mỗi ngày

Ngoài ra, với nhiệm vụ chăm sóc khách hàng chuyên nghiệp, đội ngũ kỹ thuật viên có chuyên môn cao sẽ nhanh chóng hỗ trợ, xử lý các vấn đề phát sinh. Từ đó, giúp người dùng có được trải nghiệm mượt mà, thú vị


ping 172.217.170.174

3


ping 172.217.170.174

4


ping 172.217.170.174

5

Ping là tiện ích dòng lệnh TCP/IP được sử dụng để kiểm tra và xác minh xem có tồn tại địa chỉ IP đích cụ thể (thiết bị được nối mạng) hay không và có thể chấp nhận yêu cầu từ máy tính/thiết bị khác trong mạng

Nó thường được sử dụng để kiểm tra xem một máy tính có thể giao tiếp qua mạng với một máy tính hoặc thiết bị mạng khác không

Lệnh ping xác minh kết nối bằng cách gửi các gói (tin nhắn) Echo Request Giao thức điều khiển Internet (ICMP) đến một địa chỉ IP cụ thể trên mạng và đợi máy chủ từ xa phản hồi bằng một gói trả lời. Các thông báo Trả lời tiếng vang tương ứng và thời gian để chúng trả về là hai phần thông tin quan trọng được hiển thị dưới dạng kết quả

Theo mặc định, lệnh ping sẽ gửi bốn yêu cầu tiếng vang trong Windows (Linux tiếp tục gửi cho đến khi bạn dừng nó bằng Ctrl + C). Kết quả của mỗi yêu cầu tiếng vang này được hiển thị, bao gồm

  • Yêu cầu có nhận được phản hồi thành công hay không
  • Đã nhận được bao nhiêu byte trong phản hồi
  • Thời Gian Để Sống (TTL)
  • Mất bao lâu để nhận được phản hồi
  • Thống kê về mất gói và thời gian khứ hồi

Nếu yêu cầu ping không nhận được phản hồi, thì mạng bị hỏng và cần phải sửa lỗi gì đó. Nếu mất quá nhiều thời gian để nhận được phản hồi, thì điều đó có nghĩa là kết nối chậm

Lệnh này cũng có thể được sử dụng để kiểm tra cả tên máy tính (hoặc tên miền) và địa chỉ IP của máy tính/máy chủ. Nếu ping địa chỉ IP thành công, nhưng ping tên máy tính thì không, có thể có vấn đề về phân giải tên

Theo mặc định, lệnh ping được chạy trong một dòng lệnh như dấu nhắc lệnh (đối với Windows) và thiết bị đầu cuối (đối với Linux)

Thực hiện một yêu cầu Ping

Để thực hiện yêu cầu ping, chỉ cần viết từ "ping" theo sau là khoảng trắng, sau đó là địa chỉ IP hoặc tên miền có kết nối mà bạn muốn kiểm tra trong dấu nhắc lệnh hoặc thiết bị đầu cuối. Sau đó nhấn nhập

ví dụ 1


ping google.com

đầu ra

Pinging a domain name via linux terminal

ví dụ 2


ping 172.217.170.174

đầu ra

Pinging an IP address via linux terminal

Giới hạn số lượng yêu cầu ping

Lệnh ping cho phép các tùy chọn bổ sung khi gửi yêu cầu ping. Các tùy chọn này có thể khác nhau từ hệ điều hành này sang hệ điều hành khác

Chúng tôi sẽ chỉ đề cập đến một tùy chọn vì các tùy chọn lệnh không nằm trong phạm vi của bài viết này

Để chỉ định số lượng Yêu cầu tiếng vang ICMP sẽ gửi, hãy sử dụng "-n" (đối với Windows) và "-c" (đối với Linux). Số lượng yêu cầu mặc định là 4 trong Windows nếu tùy chọn này không được sử dụng

Dưới đây là các ví dụ về cách -n và -c trên Windows và Linux tương ứng

Đặt giới hạn yêu cầu ping trong Windows


ping -n 5 172.217.170.174

đầu ra

Ping 172. 217. 170. 174 với 32 byte dữ liệu.
Trả lời từ 172. 217. 170. 174. byte=32 time=11ms TTL=118
Trả lời từ 172. 217. 170. 174. byte=32 time=10ms TTL=118
Trả lời từ 172. 217. 170. 174. byte=32 time=66ms TTL=118
Trả lời từ 172. 217. 170. 174. byte=32 time=27ms TTL=118
Trả lời từ 172. 217. 170. 174. byte=32 time=54ms TTL=118

Thống kê ping cho 172. 217. 170. 174.
Gói tin. Đã gửi = 5, Đã nhận = 5, Mất = 0 (mất 0%),
Thời gian khứ hồi ước tính tính bằng mili giây.
Tối thiểu = 10 mili giây, Tối đa = 66 mili giây, Trung bình = 33 mili giây

Đặt giới hạn yêu cầu ping trong Linux


ping -c 5 172.217.170.174

đầu ra

PING 172. 217. 170. 174 (172. 217. 170. 174) 56(84) byte dữ liệu.
64 byte từ 172. 217. 170. 174. icmp_seq=1 ttl=118 thời gian=11. 7 mili giây
64 byte từ 172. 217. 170. 174. icmp_seq=2 ttl=118 thời gian=8. 97 mili giây
64 byte từ 172. 217. 170. 174. icmp_seq=3 ttl=118 thời gian=64. 3 ms
64 byte từ 172. 217. 170. 174. icmp_seq=4 ttl=118 thời gian=29. 9 ms
64 byte từ 172. 217. 170. 174. icmp_seq=5 ttl=118 thời gian=30. 3 ms

--- 172. 217. 170. 174 thống kê ping ---
5 gói được truyền, 5 gói được nhận, tỷ lệ mất gói 0%, thời gian 4006 mili giây
rtt tối thiểu/avg/max/mdev = 8. 969/29. 018/64. 322/19. 752 mili giây

Tạo lệnh Ping trong PHP

Vì lý do nào đó, bạn có thể muốn (hoặc có thể phải) thực hiện lệnh ping từ ứng dụng PHP của mình

Chẳng hạn, trang web/ứng dụng của bạn có thể đang gửi các yêu cầu API tới một địa chỉ trên máy chủ từ xa. Tất nhiên, bạn mong muốn nhận được phản hồi (thông báo lỗi hoặc thành công) đối với yêu cầu API. Nhưng trong một số trường hợp, bạn có thể không nhận được bất kỳ. Trong trường hợp như vậy, bạn có thể sử dụng yêu cầu ping để kiểm tra kết nối mạng giữa máy chủ web của bạn và máy chủ từ xa

Nếu bạn gửi yêu cầu ping bằng dấu nhắc lệnh hoặc thiết bị đầu cuối trong PC, thì bạn sẽ kiểm tra kết nối mạng giữa IP mạng của bạn và máy chủ từ xa (chứ không phải giữa máy chủ web và máy chủ từ xa)

Yêu cầu ping cần bắt nguồn từ máy chủ. Bạn có thể gửi yêu cầu từ một đoạn mã đang chạy trên máy chủ web

PHP, là ngôn ngữ phía máy chủ, là một cách tuyệt vời để chạy lệnh ping từ máy chủ web của bạn đến một địa chỉ IP hoặc tên miền khác trên Internet

Trong PHP, lệnh ping hoàn toàn giống như trong terminal/command prompt, chỉ khác là nó được thực thi trong hàm exec()

The exec() là một hàm PHP dựng sẵn cho phép thực thi một chương trình bên ngoài.

cú pháp

exec($command, $output, $result)

Thông số

Tham sốYêu cầuMô tả$lệnhYêu cầuĐiều này chỉ định lệnh thực tế sẽ được thực thi. $outputOptional Biến này chứa một mảng của mọi dòng đầu ra từ lệnh. $resultOptionalBiến này giữ trạng thái trả về của lệnh đã thực hiện

Hàm trả về dòng cuối cùng từ kết quả của lệnh

ví dụ 1

Đang gửi 3 gói ICMP Echo Request tới google. com từ tập lệnh PHP trên máy chủ Linux

đầu ra

rtt tối thiểu/trung bình/tối đa/mdev = 0. 370/0. 395/0. 425/0. 032ms

ví dụ 2

Đang gửi 5 gói ICMP Echo Request tới google. com từ tập lệnh PHP trên máy chủ Windows

đầu ra

Tối thiểu = 10ms, Tối đa = 66ms, Trung bình = 33ms

ví dụ 3

đầu ra

Mảng (
[0] => PING 172. 217. 170. 174 (172. 217. 170. 174) 56(84) byte dữ liệu.
[1] => 64 byte từ 172. 217. 170. 174. icmp_seq=1 ttl=119 time=143 mili giây
[2] => 64 byte từ 172. 217. 170. 174. icmp_seq=2 ttl=119 time=143 mili giây
[3] => 64 byte từ 172. 217. 170. 174. icmp_seq=3 ttl=119 thời gian=160 ms
[4] => [5] => --- 172. 217. 170. 174 thống kê ping ---
[6] => truyền 3 gói, nhận 3 gói, mất gói 0%, thời gian 2002 mili giây
[7] => rtt tối thiểu . 342/148. 966/160. 196/7. 940 mili giây
)

Ví dụ 4

";
}

đầu ra

PING facebook. com (157. 240. 9. 35) 56(84) byte dữ liệu.
64 byte từ edge-star-mini-shv-01-sof1. Facebook. com (157. 240. 9. 35). icmp_seq=1 ttl=59 thời gian=0. 257 ms
64 byte từ edge-star-mini-shv-01-sof1. Facebook. com (157. 240. 9. 35). icmp_seq=2 ttl=59 thời gian=0. 278 ms
64 byte từ edge-star-mini-shv-01-sof1. Facebook. com (157. 240. 9. 35). icmp_seq=3 ttl=59 thời gian=0. 242 ms

--- facebook. thống kê com ping ---
3 gói được truyền, 3 gói được nhận, tỷ lệ mất gói 0%, thời gian 2002ms
rtt min/avg/max/mdev = 0. 242/0. 259/0. 278/0. 014 mili giây

Ghi chú. Khi cho phép người dùng nhập liệu hàm exec(), hãy luôn sử dụng các hàm escapeshellarg() hoặc escapeshellcmd() để đảm bảo rằng người dùng không thể lừa hệ thống thực thi các lệnh tùy ý

Chức năng exec() đặt ra một lỗ hổng bảo mật tiềm ẩn và do đó, một số công ty lưu trữ có thể đã tắt nó theo mặc định vì điều này. Nếu nó không hoạt động với bạn, đây có thể là nguyên nhân chính

Nó có thể cung cấp cho bạn một thông báo lỗi bên dưới

Cảnh báo. exec() đã bị vô hiệu hóa vì lý do bảo mật trong /path/to/file/filename. php trên dòng x

Hoặc đối với PHP 8, nó có thể báo lỗi hàm không xác định bên dưới

Lỗi nghiêm trọng. Lỗi chưa xử lý. Gọi hàm undefined exec() trong /path/to/file/filename. php. Dấu vết ngăn xếp X. #0 {main} được đưa vào /path/to/file/filename. php trên dòng X

Phần kết luận

Trong bài viết này, chúng tôi đã giới thiệu lệnh ping là gì, nó được sử dụng để làm gì và nó hoạt động như thế nào

Chúng tôi cũng đã giới thiệu cách tạo các lệnh ping trong PHP bằng cách sử dụng hàm exec() tích hợp với sự trợ giúp của nhiều ví dụ