Hướng dẫn how to run php script without browser - cách chạy tập lệnh php mà không cần trình duyệt

Trình thông dịch PHP đã trở thành một phần thiết yếu của hầu hết mọi máy chủ web. Phần lớn các ứng dụng web được viết bằng PHP. Do đó, nhiều người liên kết công nghệ PHP với môi trường web, với môi trường của máy chủ web. Nhưng trong thực tế, bạn có thể chạy các tập lệnh PHP mà không cần trình duyệt web. Chúng tôi không nói về các chương trình được tạo đặc biệt dưới dạng các ứng dụng web, chẳng hạn như WordPress, phpmyadmin, tập lệnh sách khách, diễn đàn, v.v. Không có khả năng bạn sẽ có thể làm việc đầy đủ với họ trong dòng lệnh. Chúng tôi đang nói về các chương trình giao diện điều khiển PHP có thể thực hiện các chức năng khác nhau, không nhất thiết phải liên quan đến các dịch vụ web. Trên thực tế, PHP là một ngôn ngữ rất linh hoạt với một tập hợp các lớp tốt và bạn có thể viết một chương trình giao diện điều khiển trên nó cho bất kỳ chức năng nào. Hoặc cốt lõi của chương trình (cái gọi là back-end), sẽ được truy cập bởi giao diện người dùng đồ họa.

Ngoài ra, khởi chạy các tập lệnh PHP trong bảng điều khiển là thuận tiện cho người học ngôn ngữ. Mặc dù ai đó có thể không đồng ý với điều này. Khi xuất kết quả vào bảng điều khiển, cũng như khi chuyển các đối số cho tập lệnh, bạn không cần phải chú ý đến HTML. Nhưng nếu bạn nghiên cứu PHP để tạo các ứng dụng web và dịch vụ trực tuyến, thì bạn vẫn phải hoàn thành việc học các chi tiết cụ thể về các đối số từ trình duyệt web (trong môi trường máy chủ), cũng như HTML nói chung, vì tất cả đầu ra tập lệnh sẽ cần được định dạng cho trình duyệt của người dùng.

Cách chạy tập lệnh PHP trên dòng lệnh Linux

Bạn phải cài đặt PHP, may mắn thay trên Linux, trình thông dịch PHP rất dễ cài đặt và trên một số phân phối, nó có mặt theo mặc định. Nếu bạn chưa có nó, thì hãy cài đặt nó với một trong các lệnh sau.

Trên Debian, Kali Linux, Linux Mint, Ubuntu:

sudo apt install php

Trên Arch Linux, Blackarch:

sudo pacman -S php

Cách cài đặt một máy chủ web trong Linux Mint và Ubuntu được mô tả ở đây, trong Kali Linux, nó đã được cài đặt, cách bắt đầu tại đây.

Mặt khác, việc ra mắt các tập lệnh trong bảng điều khiển, bao gồm các tùy chọn khởi chạy, giống hệt nhau trong Linux và Windows.

Cách chạy tập lệnh PHP trên dòng lệnh windows

Nếu bạn quen thuộc với các chương trình điều khiển chạy trong Windows hoặc ít nhất là trong Linux, thì mọi thứ đều khá đơn giản đối với bạn - các chương trình được ra mắt ở mọi nơi theo cùng một cách. Nhưng hãy bắt đầu với những điều cơ bản cho người mới bắt đầu.

Nếu bạn không chỉ muốn khả năng chạy PHP từ dòng lệnh mà còn là một máy chủ web Apache + PHP + MySQL đầy đủ trên Windows, thì hãy hoàn thành cài đặt theo bài viết này.

Để chạy PHP trên dòng lệnh, bạn không cần phải cài đặt máy chủ web, chỉ cần tải xuống và giải nén kho lưu trữ với trình thông dịch PHP.

Hãy bắt đầu bằng cách tải xuống phiên bản PHP mới nhất cho Windows từ trang web chính thức: https://windows.php.net/doad/

Có một số tùy chọn khác nhau:

  • Phiên bản (ví dụ: 8.0, 7.4, 7.3)
  • Kiến trúc máy tính, (x64 và x86)
  • Chủ đề an toàn hoặc không có chủ đề an toàn

Chọn phiên bản mới nhất, giữa x64 và x86 Chọn cùng một phiên bản với máy chủ web của bạn. Đó là, nếu Apache của bạn là 64 bit, thì PHP cũng phải là 64 bit. Luôn chọn phiên bản an toàn của chủ đề.Thread Safe’ version.

Có hai liên kết cho mỗi tệp:

  • Zip
  • Gói gỡ lỗi

Chọn ZIP vì gói gỡ lỗi chỉ dành cho những người thực sự biết lý do tại sao họ cần nó. Điều này không có nghĩa là gỡ lỗi các tập lệnh PHP, nhưng gỡ lỗi chính trình thông dịch PHP.Zip because the debug package is only for those who really know why they need it. This does not mean debugging PHP scripts, but debugging the PHP interpreter itself.

Nếu bạn thường chạy các tập lệnh PHP từ dòng lệnh Windows, rất khuyến khích thêm đường dẫn PHP vào biến số biến đổi môi trường % đường dẫn trên Windows. Điều này giúp loại bỏ sự cần thiết phải chỉ định đường dẫn đầy đủ đến tệp php.exe mỗi lần.php.exe file every time.

Bây giờ PHP đã được cài đặt và đường dẫn đến php.exe đã được thêm vào biến môi trường Windows, mở dấu nhắc lệnh bằng cách nhấn kết hợp khóa Win+x và chọn Windows PowerShell.Win+x key combination and select Windows PowerShell.

Để kiểm tra những gì hoạt động tốt, hãy nhìn vào trợ giúp PHP:

php -h

Hướng dẫn how to run php script without browser - cách chạy tập lệnh php mà không cần trình duyệt

Trên thực tế, chúng tôi đang chạy tệp php.exe, nhưng phần mở rộng có thể được bỏ. Nghĩa là, mục trước đó tương đương với

php.exe -h

Trợ giúp và các tùy chọn để chạy tập lệnh PHP trên dòng lệnh

Trợ giúp chứa các tùy chọn dòng lệnh cho các biến thể khác nhau để chạy các tệp .php trên dòng lệnh, vì vậy tôi sẽ cung cấp toàn bộ bản dịch của nó..php files on the command line, so I will give its translation in full.

Cách sử dụng:

php [options] [-f]  [--] [args...]
php [options] -r  [--] [args...]
php [options] [-B ] -R  [-E ] [--] [args...]
php [options] [-B ] -F  [-E ] [--] [args...]
php [options] -S : [-t docroot] [router]
php [options] -- [args...]
php [options] -a

Như bạn có thể thấy, có nhiều tùy chọn khởi động. Nếu bạn không hiểu nó có nghĩa là gì, đừng lo lắng. Lúc đầu, chúng ta sẽ làm quen với ý nghĩa của các tùy chọn, nghiên cứu, có thể nói, tài liệu, và sau đó tiến hành các ví dụ cụ thể sẽ mang lại sự rõ ràng cuối cùng.

Tùy chọn:

  -a               Run as interactive shell
  -c | Look for php.ini file in this directory
  -n               No configuration (ini) files will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f         Parse and execute .
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r         Run PHP  without using script tags 
  -B   Run PHP  before processing input lines
  -R         Run PHP  for every input line
  -F         Parse and execute  for every input line
  -E     Run PHP  after processing all input lines
  -H               Hide any passed arguments from external tools.
  -S : Run with built-in web server.
  -t      Specify document root  for built-in web server.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z         Load Zend extension .

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf       Show information about function .
  --rc       Show information about class .
  --re       Show information about extension .
  --rz       Show information about Zend extension .
  --ri       Show configuration for extension .

Cách chạy tập lệnh .php trên dòng lệnh windows và linux

Lệnh sau được sử dụng để chạy tệp .php trong bảng điều khiển Windows:

php -f path\to\file.php

Tùy chọn -f có thể bị bỏ qua, nghĩa là, các lệnh trước và tiếp theo là như nhau:-f option can be skipped, that is, the previous and next commands are the same:

php path\to\file.php

Tôi đã tạo một tệp thử nghiệm nằm trong đường dẫn C: \ Users \ Alex \ Documents \ Php \ test.php sau đó tôi có thể chạy nó trong PHP như vậy:C:\Users\Alex\Documents\PHP\test.php then I can run it in PHP like so:

php -f C:\Users\Alex\Documents\PHP\test.php

Hoặc như thế này:

php C:\Users\Alex\Documents\PHP\test.php

Cách chuyển đối số cho tập lệnh PHP trên dòng lệnh

Để chuyển các đối số cho tập lệnh, hãy liệt kê chúng sau tên tệp, cách nhau bởi một không gian. Nếu bản thân các đối số chứa khoảng trắng hoặc các ký tự khác đặc biệt với vỏ dòng lệnh, thì hãy gửi các đối số đó trong các trích dẫn đơn hoặc đôi.

sudo pacman -S php
0

Một ví dụ về việc chạy tập lệnh PHP với ba đối số:

sudo pacman -S php
1

Cách truy cập các đối số trong tập lệnh PHP

Các đối số được thông qua được chứa trong mảng $ argv. Hơn nữa, số thứ tự của đối số tương ứng với số trong mảng. Đó là, đối số đầu tiên sẽ được đặt trong $ argv [1], thứ hai trong $ argv [2], v.v.$argv array. Moreover, the ordinal number of the argument corresponds to the number in the array. That is, the first argument will be placed in $argv[1], the second in $argv[2], and so on.

Phần tử đầu tiên của mảng có tên $ argv [0] chứa đường dẫn đầy đủ đến tập lệnh để chạy.$argv[0] contains the full path to the script to run.

Nội dung của tệp test.php:

sudo pacman -S php
2

Hãy chạy nó và chuyển ba đối số cho tập lệnh:

sudo pacman -S php
1

Hướng dẫn how to run php script without browser - cách chạy tập lệnh php mà không cần trình duyệt

Cách lấy dữ liệu từ người dùng trong bảng điều khiển trong PHP

Nhờ các đối số được thông qua, tập lệnh có thể thực hiện các hành động không chỉ với dữ liệu được viết trong đó, mà còn với các giá trị khác được chỉ định khi tập lệnh được chạy.

Nhân tiện, khi làm việc trong môi trường máy chủ web, nghĩa là khi tập lệnh PHP thực hiện các tác vụ cho một trang web, khả năng chuyển các đối số cho nó được triển khai bằng phương pháp HTTP GET và POST. Các đối số này được truyền trước khi bắt đầu tập lệnh và sau khi bắt đầu tập lệnh PHP, dữ liệu mới không thể được gửi - bạn cần chờ chương trình hoàn tất đang chạy và, nếu cần, hãy chạy lại với dữ liệu mới.

Mặc dù tập lệnh đang chạy, có thể cần phải nhập dữ liệu mới; Trong bảng điều khiển, điều này đạt được bằng cách sử dụng lời nhắc, trong đó người dùng có thể nhập giá trị và nhấn enter để chuyển nó vào tập lệnh. Trong bối cảnh của một trang web, không có khả năng như vậy - để chuyển dữ liệu đã có trong quá trình thực hiện tập lệnh. Nghĩa là, việc ra mắt bảng điều khiển của các tập lệnh PHP với các đối số không chỉ dễ dàng hơn (không cần phải xử lý với dạng HTML), mà còn linh hoạt hơn.

PHP sử dụng chức năng Readline để truy vấn người dùng.readline function to query the user.

Tính năng này hoạt động giống nhau trên cả Windows và Linux. Hơn nữa, trên Linux, nó có khả năng tương tác của bash, ví dụ, nó lưu lịch sử đầu vào, mà bạn có thể trả lại bằng cách sử dụng các mũi tên. Trên Windows, tính năng này đã xuất hiện từ Php 7.1.

Nếu bạn thực sự cần, bạn có thể định cấu hình tự động hoàn thành dữ liệu đầu vào. Tất cả các tính năng của GNU Readline được đề cập ở đây. Tôi sẽ chỉ chạm vào Readline, đọc dòng được nhập bởi người dùng. Với chức năng này, bạn có thể chỉ định một đối số tùy chọn - một chuỗi sẽ được hiển thị cho người dùng tại dấu nhắc.

Một ví dụ về tập lệnh bảng điều khiển PHP yêu cầu người dùng về dữ liệu tại dấu nhắc dòng lệnh:

sudo pacman -S php
4

Hướng dẫn how to run php script without browser - cách chạy tập lệnh php mà không cần trình duyệt

Kiểm tra cú pháp của tập lệnh PHP trên dòng lệnh

Với tùy chọn -L, cú pháp sẽ được kiểm tra, nghĩa là, liệu các quy tắc của mã PHP có bị vi phạm hay không, nhưng chính tệp tập lệnh sẽ không được thực thi:-l option, the syntax will be checked, that is, whether the rules of the PHP code are violated, but the script file itself will not be executed:

Thí dụ:

sudo pacman -S php
5

Hoặc nếu có lỗi trong tệp:

sudo pacman -S php
6

Cách thực thi các lệnh PHP tương tác

Nếu bạn cần nó, thì bạn có thể làm việc với trình thông dịch PHP một cách tương tác, nhập từng dòng mã. Trong trường hợp này, mã được thực thi sau khi nhấn nút Enter, nhưng các giá trị của các biến được lưu trong một phiên. Đó là, bạn có thể gán một giá trị cho một biến và sau đó sử dụng nó trong các dòng khác.

Để chạy một vỏ tương tác:

sudo pacman -S php
7

Hướng dẫn how to run php script without browser - cách chạy tập lệnh php mà không cần trình duyệt

Cách chạy các lệnh PHP riêng lẻ

Sử dụng tùy chọn -R để chạy các lệnh riêng lẻ:-r option to run individual commands:

sudo pacman -S php
8

Cách khởi động máy chủ web tích hợp của PHP

PHP có máy chủ web của riêng mình! Nếu bạn thực sự cần nó, bạn thường có thể làm mà không cần máy chủ của bên thứ ba cho một số nhiệm vụ cụ thể.

Các tùy chọn như sau:

sudo pacman -S php
9

Giả sử tôi muốn đặt 127.0.0.1 làm địa chỉ IP nghe, 84 là cổng nghe, thư mục gốc của tài liệu máy chủ web được đặt trong C: \ users \ Alex \ Documents \ php \, thì lệnh khởi chạy là theo sau:127.0.0.1 as the listening IP address, 84 as the listening port, the root folder of the web server documents is located in C:\Users\Alex\Documents\PHP\, then the launch command is as follows:

php -h
0

Trong thư mục này, tôi có tệp test_2.php với nội dung sau:test_2.php file with the following content:

php -h
1

Tôi mở địa chỉ http://127.0.0.1:84/test_2.php trong trình duyệt web

Trong bảng điều khiển tôi thấy:

Hướng dẫn how to run php script without browser - cách chạy tập lệnh php mà không cần trình duyệt

Trong trình duyệt web:

Hướng dẫn how to run php script without browser - cách chạy tập lệnh php mà không cần trình duyệt

Có thể cố gắng chạy WordPress trong máy chủ web tích hợp, không quan tâm.

Nhận trợ giúp từ dòng lệnh

Để nhận trợ giúp về các chức năng PHP trực tiếp trên dòng lệnh, hãy sử dụng tùy chọn - -RF.--rf option.

Ví dụ: tôi muốn biết về Readline:

php -h
2

Chà, một cái gì đó giống như vậy nhưng bạn muốn gì - đó là một giao diện điều khiển.

Thông tin readfile:

php -h
3

Theo tôi hiểu, trong dòng tham số, số lượng đối số hàm được viết bằng niềng răng xoăn, dòng yêu cầu có nghĩa là đối số là bắt buộc và dòng tùy chọn có nghĩa là đối số không bắt buộc. Đôi khi bạn có thể đoán chức năng của các đối số bằng tên của họ, ví dụ, $ fileName. Rõ ràng không có thông tin về hành động mà chức năng thực hiện.Parameters line, the number of function arguments is written in curly braces, the required line means that the argument is mandatory, and the optional line means that the argument is not mandatory. You can sometimes guess the function of arguments by their name, for example, $filename. There is apparently no information about what action the function performs.

Tùy chọn nhà phát triển

Nếu bạn thực sự viết và gỡ lỗi mã, bao gồm các trang web, thì các tùy chọn sau sẽ có ích:

php -h
4

Cách in thông tin về PHP

Ba tùy chọn sau đây có sẵn để hiển thị thông tin PHP:

php -h
5

Tùy chọn -i tương đương với PHPINFO, nhưng đối với bảng điều khiển.-i option is the equivalent to phpinfo, but for the console.

PHP không thể lưu tệp ngay cả với đủ quyền ghi

Trên thực tế, điều này có thể xảy ra không chỉ khi chạy tập lệnh PHP từ dòng lệnh, mà còn khi chạy tập lệnh trên máy chủ web. Nhưng khi chạy trong bảng điều khiển, có nhiều điều kiện hơn để gặp sự cố này: tập lệnh PHP không lưu tệp vào thư mục có quyền ghi cho bất kỳ ai (777).

Hành vi này có vẻ không thể giải thích được nếu bạn không biết về Chỉ thị Open_BasedIR trong tệp cấu hình Php.ini chính. Chỉ thị này hạn chế tất cả các hoạt động tệp cho các thư mục được chỉ định với nó. Thí dụ:php.ini configuration file. This directive restricts all file operations to the folders specified with it. Example:

php -h
6

Mục nhập này có nghĩa là tập lệnh PHP có thể ghi các tệp vào thư mục/srv/http/, cũng như vào/etc/webapps/,/usr/share/webapps/và/tmp/thư mục./srv/http/ folder, as well as to the /etc/webapps/, /usr/share/webapps/ and /tmp/ folders.

Hơn nữa, nếu Chỉ thị Open_Basingir hoàn toàn không được cấu hình (ví dụ, dòng với nó, được nhận xét), thì PHP có thể ghi vào bất kỳ thư mục nào nếu người dùng hiện tại có đủ quyền ghi.open_basedir directive is not configured at all (the line with it, for example, is commented out), then PHP can write to any folder if the current user has sufficient write permissions.

Khi làm việc trong bảng điều khiển PHP, tập lệnh có thể cố gắng lưu các tệp, ví dụ, vào thư mục hiện tại - nếu thư mục này không được chỉ định trong Open_basingir Có thể viết các tập tin ngay cả vào một thư mục mở cho mọi người.open_basedir, but the open_basedir directive itself is configured, then the described problem will arise: PHP will not be able to write files even to a folder open to everyone.

Có một số tùy chọn để loại bỏ lỗi này:

  • Thêm thư mục nơi bạn muốn lưu tệp vào danh sách Open_basingiropen_basedir list
  • Chọn thư mục đã được chỉ định trong open_basingir để lưuopen_basedir to save
  • Bắt đầu trình thông dịch PHP mà không cần đọc các cài đặt từ các tệp cấu hình (trong trường hợp này, Chỉ thị Open_basingir sẽ không được tính đến, cũng như tất cả các cấu hình khác nói chungopen_basedir directive will not be taken into account, as well as all other configurations in general

Để chạy tập lệnh PHP mà không tính đến cài đặt tệp php.ini, ví dụ: sử dụng tùy chọn -N, ví dụ:php.ini file settings, use the -n option, for example:

php -h
7

Nhân tiện, để tìm ra tệp cấu hình nào được tính đến khi PHP đang chạy, hãy chạy lệnh sau:

php -h
8

Ví dụ đầu ra:

php -h
9

Hướng dẫn how to run php script without browser - cách chạy tập lệnh php mà không cần trình duyệt

Sự kết luận

Chạy các tập lệnh PHP trên dòng lệnh là một giải pháp thay thế để chạy chúng thông qua một máy chủ web. Làm việc trong bảng điều khiển có thể thuận tiện khi học ngôn ngữ lập trình PHP hoặc để gỡ lỗi một số chức năng nhất định, ngay cả khi trong tương lai, các chức năng và tập lệnh này sẽ hoạt động trên máy chủ web.

Tập lệnh PHP có thể là một giải pháp thay thế cho tập lệnh bash, đặc biệt nếu bạn cần sử dụng DBMS (MySQL, SQLite) - rất khó để làm việc thông qua Bash hoặc sử dụng các khả năng của PHP để làm việc với văn bản trong XML, JSON Markup - mà cũng không thuận tiện trong bash…

Trong mọi trường hợp, bạn cần nhận thức được khả năng này, vì một số chương trình, đặc biệt là khai thác, là các tập lệnh PHP được thiết kế để chạy trên dòng lệnh với các đối số.

Những bài viết liên quan:

  • Cách hack trang web (58%)
  • Cách hack trang web (Phần 2) (58%)
  • Các chương trình Kali Linux trực tuyến (miễn phí) (55,8%)
  • 5 Các bước miễn phí và đơn giản để bảo mật các trang web WordPress (55,8%)
  • Cách bảo vệ máy chủ web trên Kali Linux khỏi truy cập trái phép (55,8%)
  • Phải làm gì nếu Linux không khởi động (ngẫu nhiên - 16,3%)

Tôi có thể chạy PHP mà không cần máy chủ web không?

Bạn có thể tạo một tập lệnh PHP để chạy nó mà không cần bất kỳ máy chủ hoặc trình duyệt nào. Bạn chỉ cần trình phân tích cú pháp PHP để sử dụng nó theo cách này. Loại sử dụng này là lý tưởng cho các tập lệnh thường xuyên được thực hiện bằng cron (trên *Nix hoặc Linux) hoặc Trình lập lịch tác vụ (trên Windows). Các tập lệnh này cũng có thể được sử dụng cho các tác vụ xử lý văn bản đơn giản.. You only need the PHP parser to use it this way. This type of usage is ideal for scripts regularly executed using cron (on *nix or Linux) or Task Scheduler (on Windows). These scripts can also be used for simple text processing tasks.

Làm cách nào để chạy tập lệnh PHP bằng tay?

Bạn chỉ cần làm theo các bước để chạy chương trình PHP bằng dòng lệnh ...
Mở cửa sổ thiết bị đầu cuối hoặc dòng lệnh ..
Goto thư mục hoặc thư mục được chỉ định có các tệp PHP có mặt ..
Sau đó, chúng ta có thể chạy mã PHP bằng lệnh sau: php file_name.php ..

Php có yêu cầu trình duyệt web không?

Để giải thích các tập lệnh PHP, PHP phải được cài đặt trên máy chủ của bạn.Là ngôn ngữ phía máy chủ, bạn sử dụng PHP cho hoạt động trang web cục bộ trên máy tính của bạn thông qua trình duyệt web của bạn.Một trình duyệt web được yêu cầu để truy cập các tập lệnh PHP.Hoạt động phía máy chủ là khi các yêu cầu được gửi bởi trình duyệt web của bạn đến máy chủ.A web browser is required to access PHP scripts. Server-side activity is when requests are sent by your web browser to the server.

PHP có thể được chạy cục bộ không?

XAMPP là một công cụ phát triển web, được tạo bởi Apache, giúp dễ dàng chạy các tập lệnh PHP (trang cá nhân) trên máy tính của bạn cục bộ..