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

Xin chào, tôi mới sử dụng PHP và không biết tôi sẽ hỏi gì thậm chí có thể hay nó có ý nghĩa nhưng ở đây.

Tôi muốn thực thi tập lệnh PHP như thể tôi đang thực hiện một ứng dụng độc lập trên máy chủ web, điều tôi đang cố gắng thực hiện là khi khách hàng mua một cái gì đó trên trang web và một lần anh ấy thấy thông báo xác nhận thanh toán trên trang web, anh ấy nên Được phép đóng cửa sổ trình duyệt hoặc đăng xuất mà không ảnh hưởng đến quy trình tạo đơn đặt hàng lớn mà GET đã bắt đầu sau khi người dùng được đưa đến trang hiển thị khoản thanh toán mà anh ta thực hiện đã thành công.

Ngay bây giờ tôi đang sử dụng AJAX để gọi tập lệnh PHP sau khi thanh toán và đã giữ tập lệnh đó để bỏ qua bất kỳ cuộc gọi hủy bỏ người dùng nào.

Đây là trang cho người dùng nói với người dùng rằng khoản thanh toán đã được nhận thành công.

thankyou.php

Đây là trang thực hiện xử lý chỉ cần thực hiện sau khi nhận được thành công thanh toán

FinishCheckoutProcess.inc.php

Bây giờ ThankYou.php sử dụng AJAX để thực thi FineweChockoutProcess.inc.php không đồng bộ và hoàn thành KeepSeckOutProcess.inc.php có cài đặt php.ini trong đó giống như thế này: ond_user_abort (true);thankyou.php makes use of AJAX to execute FinishCheckoutProcess.inc.php asynchronously and FinishCheckoutProcess.inc.php has a PHP.ini setting in it that goes like this: ignore_user_abort(true);

Bây giờ sự kết hợp của AJAX và ond_user_abort (true) cho phép quá trình thanh toán sau khi chạy mà không có bất kỳ lỗi nào ngay cả khi người dùng đóng cửa sổ trình duyệt của mình, nhưng vì tập lệnh này không liên quan gì đến người dùng hoặc trình duyệt tôi chỉ muốn biết nếu nó Có thể chạy tập lệnh này trong nền như một ứng dụng độc lập độc lập với trình duyệt.

Ngoài ra, máy chủ web của tôi là Apache và OS là Linux (Ubuntu OS).

Công việc của tôi đang hoàn thành nhưng tôi chỉ muốn biết nếu có một cách tốt hơn/an toàn hơn để làm điều đó.

Dù sao, cảm ơn trước tất cả mọi người, trang web này đã giúp tôi nhiều hơn bất kỳ cuốn sách nào có thể có. Vì vậy, tất cả các chuyên gia của bạn ngoài kia, những người quyên góp thời gian của họ cho những người mới như tôi, các bạn thật tuyệt vời. Hãy tiếp tục công việc tốt.

Một lần nữa cảm ơn rất nhiều.


Dựa trên các đề xuất nhận được nếu tôi sử dụng phương thức "EXEC" để thực thi FineweCteckoutProcess.inc.php, liệu các lệnh liên quan đến cơ sở dữ liệu này và nó sẽ có thể chạy thêm các tập lệnh PHP.

Kết thúc KeeckoutProcess.inc.php lần lượt thực hiện một loạt các tập lệnh PHP khác, lần lượt thực thi các tập lệnh PHP khác, do đó, sẽ sử dụng lệnh "Exec" để chạy FineweckoutProcess.inc.php Tạo bất kỳ khó khăn nào. in turn executes a series of other PHP scripts which in turn executes other PHP scripts, so will using "exec" command to run FinishCheckoutProcess.inc.php create any difficulties.

Kết thúc quá trình hoàn tất KeeckoutProcess.inc.php cũng tương tác với cơ sở dữ liệu MySQL, vì vậy tôi sẽ có thể thực hiện việc này nếu tôi thực thi tập lệnh này bằng lệnh "Exec". Tôi đang chuyển đối tượng kết nối MySQLI cần thiết cho tập lệnh PHP này ngay bây giờ. Vì vậy, tôi có thể chuyển nó theo cách tương tự cho nó bằng cách sử dụng "Exec" process also does interaction with the MySQL database, so will I be able to do this if I execute this script using "exec" command. I am passing the necessary MySQLi connection object to this PHP script right now. So can I pass it the same way to it using "exec"

Ngoài ra, quá trình này khá nặng vì nó tạo ra một tập hợp 4 tệp hình ảnh bằng Imagick và ImageMagick.IMagick and ImageMagick.

Nó tạo ra một bộ 4 tệp hình ảnh cho mỗi sản phẩm được đặt hàng, vì vậy nếu số lượng 1 sản phẩm là 10 thì tổng số tệp được tạo sẽ là 1x10x4 = 40

Nếu có hai sản phẩm có một lượng có số lượng là 2 và loại còn lại có số lượng là 4 thì tổng số tệp được tạo sẽ là 1x2x4 = 8 + 1x4x4 = 16 = 24

Vì vậy, kịch bản này có thể cần phải chạy trong một thời gian dài và không thể được phép dừng lại vì lý do hết thời gian, nó cần phải hoàn thành những gì nó bắt đầu.

BASICLLY Việc hoàn thiệnCheckOutProcess.inc.php logic và quy trình khá phức tạp, vì vậy chỉ muốn xác nhận xem "Exec" có thể xử lý hay không.FinishCheckoutProcess.inc.php logic and process is quite complex so just want to confirm if the "exec" can handle it or not.

Ngoài ra, tôi không chắc chắn nhưng một số trong số chúng cũng sử dụng các biến $ _Session, nhưng nếu đây là vấn đề tôi có thể sửa đổi nó, các biến $ _Session chỉ được sử dụng ở một nơi và vâng, $ _Session có được đặt trong trình duyệt trước khi hoàn thành kiểm tra xử lý. Tập lệnh Inc.php được thực thi. Bởi một số tập lệnh PHP trước đó.FinishCheckoutProcess.inc.php script is executed. By some previous PHP script.

Tôi chỉ muốn thực hiện FinewSteckoutProcess.inc.php Script độc lập với tập lệnh cha mẹ/gọi, tức là cảm ơn tức là ThankYou.php hiện không còn chạy nữa.FinishCheckoutProcess.inc.php script independent of the parent/calling script i.e. thankyou.php, so that if the user closes the browser then the FinishCheckoutProcess.inc.php will not stop or abort becuse the parent/calling script i.e. thankyou.php is now no longer running.

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 run php script without browser - 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 run php script without browser - 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 run php script without browser - 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 run php script without browser - 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 run php script without browser - 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 run php script without browser - 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 run php script without browser - 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%)
  • Điều khiển che giấu một máy tính dựa trên Windows (sử dụng Metasploit) (ngẫu nhiên - 1,9%)

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.

Bạn có thể mã hóa PHP ngoại tuyến không?

Mã không. Hàng phải được xử lý bởi một công cụ PHP và cách dễ nhất để làm như vậy trong môi trường web là sử dụng máy chủ web. PHP code must be processed by a PHP engine, and the easiest way to do so in a web environment is to use a web server.

Làm cách nào để chạy một trang web PHP cục bộ?

Nếu bạn muốn chạy nó, hãy mở bất kỳ trình duyệt web nào và nhập vào localhost/demo.php và nhấn enter.Chương trình của bạn sẽ chạy.open any web browser and enter “localhost/demo. php” and press enter. Your program will run.

Tôi có thể chạy tập lệnh PHP từ dòng lệnh không?

Một tập lệnh PHP có thể được thực thi từ dòng lệnh ngay cả khi mà không có bất kỳ phần mềm máy chủ web nào được cài đặt.Để chạy tập lệnh PHP từ dòng lệnh, bạn chỉ nên cài đặt PHP CLI (giao diện dòng lệnh PHP) trên hệ thống của bạn.. To run the PHP script from the command line you should just have a PHP CLI (PHP Command Line Interface) installed on your system.