Câu trả lời:
Nếu bạn đang sử dụng CLI PHP, thì hãy thử sử dụng các lệnh shell của (tôi giả sử rằng bạn đang sử dụng linux ở đây)
which php - will locate the php executable (this should be the default php used by you)
whereis php - The first path displayed will be the location of the php executable
echo $PATH - will print a list of paths separated by ":" where the system looks for commands
Nếu bạn đang sử dụng PHP làm mô-đun Apache thì phpinfo () sẽ cho bạn biết phiên bản php được sử dụng và các tệp cấu hình php, KHÔNG phải là đường dẫn php . Nếu bạn có 2 phiên bản thực thi php thì điều này sẽ giúp bạn. Nếu chúng là cùng một phiên bản thì sẽ không thực sự quan trọng ai là ai :)
Nếu bạn muốn tìm hiểu phiên bản php, thì php -v sẽ in phiên bản php trong CLI và mọi mô-đun Zend được cài đặt.
Nếu bạn muốn tìm hiểu các tệp ini được bao gồm thì php --ini sẽ hiển thị danh sách các tệp ini được tải bởi mô-đun php (điều này áp dụng cho phiên bản CLI).
which
; sử dụng command -v
thay thế. Cũng xem Kiểm tra nếu một chương trình tồn tại từ một tập lệnh Bash .
Chỉ cần thêm một tập lệnh đơn giản
<?php phpinfo(); ?>
Giả sử bạn đang sử dụng thông qua máy chủ Web:
Bạn có thể đặt chức năng sau trong tập lệnh:
<?php
phpinfo();
?>
Nếu điều này không hoạt động, có thể là do chức năng này bị vô hiệu hóa trong php.ini. Điều này thường được thực hiện để bảo mật. Nếu đây là trường hợp, bạn sẽ có một dòng trong php.ini của bạn như:
disable_functions = phpinfo
Nếu đây là trường hợp, tạm thời thay đổi nó thành
disable_functions =
Nếu bạn đang sử dụng php cho Shell ScScript:
Cần có 'dòng shebang' ở trên cùng, đại loại như
#! / usr / cục bộ / bin / php -q
Bạn có chắc chắn không phải là một liên kết smybolic với nhau? làm
ls -l / usr / local / bin / php
Đừng ;-)
Cũng từ dòng lệnh:
$ php -v
PHP 5.2.6-3ubfox4 với Suhosin-Patch 0.9.6.2 (cli) (được xây dựng: 31 tháng 3 năm 2009 02:11:31) Bản quyền (c) 1997-2008 Nhóm Zend Engine v2.2.0, Bản quyền (c) 1998- Công nghệ Zend 2008
Nếu bạn đang nói về các tập lệnh web được gọi bởi máy chủ web Apache của bạn và PHP được định cấu hình như một mô-đun Apache thì câu trả lời là KHÔNG.
Các vị trí bạn đề cập trong câu hỏi của bạn là các trình thông dịch tập lệnh dòng lệnh sẽ được gọi bằng ký hiệu shebang như
#!/usr/local/bin/php
ở đầu tập lệnh dòng lệnh php của bạn
bạn có thể gọi các thông dịch viên mà bạn đề cập riêng, vì chúng có các tên khác nhau
# php
sẽ gọi / usr / local / bin / php và
# php5
sẽ gọi / usr / local / bin / php5
Không một trong số chúng được sử dụng nếu bạn sử dụng PHP thông qua mô-đun Apache. Nếu bạn sử dụng CGI-Version của php, nó sẽ hiển thị trong phpinfo (); đầu ra.
<?php echo shell_exec('which php'); ?>
Điều này hoạt động ngay cả khi bạn không có quyền truy cập shell. ;-)
which
lệnh là những gì tôi cần.