Helpex - Trao đổi & giúp đỡ Đăng nhập

Tên máy chủ PHP từ Dòng lệnh

Dương Hồng Minh
· 14:19 09/03/2009
6 ngày trước

Có cách nào để phát hiện tên của máy chủ đang chạy tập lệnh PHP từ dòng lệnh không?

Có nhiều cách để thực hiện việc này đối với PHP được truy cập qua HTTP. Nhưng dường như không có cách nào để làm điều này cho CLI.

Ví dụ:

$_SERVER['SERVER_NAME'] 

không có sẵn từ dòng lệnh.

37 hữu ích 5 bình luận 33k xem chia sẻ
Võ Việt Quốc
· 14:36 09/03/2009
14:36:40 09/03/2009
84 hữu ích 4 bình luận chia sẻ
Lý Hà Mi
· 13:07 28/12/2010
13:07:21 28/12/2010
<?php
echo gethostname(); // may output e.g,: sandie

Xem http://php.net/manual/en/ Chức năng.gethostname.php

gethostname () là một hàm tiện lợi hoạt động giống như php_uname('n')và đã được thêm vào trong PHP 5.3

20 hữu ích 0 bình luận chia sẻ
Lê Liên Hương
· 14:31 09/03/2009
14:31:53 09/03/2009

SERVER_NAME không khả dụng khi bạn chạy PHP từ CLI cũng vì lý do đó.

Khi bạn chạy PHP từ CLI, bạn khởi động bộ xâm nhập PHP của riêng mình để chạy bất kỳ mã nào bạn đã chuyển cho nó mà không cần bất kỳ loại máy chủ nào. Vì vậy, từ CLI, PHP không biết gì về máy chủ web của bạn mà bạn không cho nó biết một cách rõ ràng.

12 hữu ích 0 bình luận chia sẻ
Dương Quang Linh
· 14:23 09/03/2009
14:23:33 09/03/2009

Thử:

$servername = trim(`hostname`);
3 hữu ích 2 bình luận chia sẻ
Hồ Quốc Huy
· 12:53 09/04/2013
12:53:42 09/04/2013

Để lấy tên máy chủ từ dòng lệnh, bạn cũng cần chạy bằng php -r. Trên linux tôi đã sử dụng:

~#php -r 'echo php_uname("n");'
hostname

Trên các cửa sổ tôi đã sử dụng:

D:\xampp\php>php -r "echo php_uname('n');"
MB-PC

Ngoài ra, khi được truy cập qua bảng điều khiển, PHP không cung cấp nhiều giá trị $ _SERVER cổ điển nhưng trên máy chủ tôi đã truy cập chỉ có các khóa sau:

root@hermes:~# php -r 'foreach($_SERVER as $key =>$value){echo $key.",";}'
TERM,SHELL,SSH_CLIENT,SSH_TTY,USER,LS_COLORS,MAIL,PATH,PWD,LANG,SHLVL,HOME,LOGNAME,SSH_CONNECTION,LESSOPEN,LESSCLOSE,_,PHP_SELF,SCRIPT_NAME,SCRIPT_FIL
ENAME,PATH_TRANSLATED,DOCUMENT_ROOT,REQUEST_TIME,argv,argc
3 hữu ích 2 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ php command-line command-line-interface , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm