Hướng dẫn run python script from php button - chạy tập lệnh python từ nút php

Bạn không thể đặt một biến trong một chuỗi trích dẫn, trừ khi đó là những gì bạn thực sự muốn. Thay vào đó, hoặc phá vỡ và kết nối, hoặc sử dụng dấu ngoặc kép:

Or:

Các mã trên cho rằng bạn thực sự gõ các trích dẫn kép trong thiết bị đầu cuối.

Nếu không, chỉ cần thoát khỏi chúng như vậy:

Or:

Đã trả lời ngày 23 tháng 7 năm 2018 lúc 14:33Jul 23, 2018 at 14:33

Hướng dẫn run python script from php button - chạy tập lệnh python từ nút php

delboy1978ukdelboy1978ukdelboy1978uk

11.6K2 Huy hiệu vàng19 Huy hiệu bạc38 Huy hiệu đồng2 gold badges19 silver badges38 bronze badges

2

Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh GIT chấp nhận cả tên thẻ và tên chi nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi bất ngờ. Bạn có chắc là bạn muốn tạo chi nhánh này?

Tôi đang gặp vấn đề với việc thực hiện tập lệnh Python của mình thông qua sử dụng nút trên PHP. Tôi đã xem qua bất kỳ hoặc tất cả các câu hỏi liên quan liên quan đến vấn đề của tôi và đã thử bất kỳ câu trả lời nào tôi có thể tìm thấy và sửa đổi tên tệp thành của riêng tôi. Đây là mã PHP trên trang web của tôi:

    

Mã PHP sẽ thực thi tập lệnh Python mà tôi đã viết:

    

Trang web hoạt động, tập lệnh Python hoạt động khi tôi thực thi thủ công nó trên thiết bị đầu cuối. Tuy nhiên, khi tôi cố gắng nhấp vào nút trên trang web của mình, không có gì xảy ra. Tôi cũng đã đi và thay đổi các cấu hình trên tệp sudoers để các chức năng dữ liệu www mà không cần sử dụng mật khẩu và cũng đã thực hiện Chmod Gu+x trên /var/www/open.py.

Có điều gì khác mà tôi có thể thiếu? Ai đó có thể giúp tôi xin vui lòng?

Cảm ơn bạn.

Hướng dẫn run python script from php button - chạy tập lệnh python từ nút php

Broj1356 Người hầu khiêm tốn 356 Humble servant Featured Poster

4 năm trước

Không chắc chính xác thì quy trình làm việc dự kiến ​​là gì nhưng dù sao thì rất ít ghi chú:

Mã PHP ở đầu Test.php có lẽ chỉ nên thực thi sau khi gửi biểu mẫu hoặc khi các giá trị $_POST được đặt để có thể thực hiện kiểm tra hoặc bạn có thể nhận được lỗi/cảnh báo:

if(isset($_POST['submit'])) {
    $user = $_POST['user'];
    echo 'User: ';
    echo $user. '

'; ... } It is still not clear whether this code is necessary at all since your form redirects to the `welcome.php` page.

Nếu bạn muốn xem đầu ra của tập lệnh Python của mình vào biến $output, bạn phải đặt nó thành một tham số, một cái gì đó giống như

exec("python D:/text.py", $output);

Bây giờ bạn nên có đầu ra được lưu trữ trong biến $output dưới dạng mảng. Có thể một số hàm lệnh bên ngoài PHP khác có thể phù hợp hơn (chẳng hạn như

1 - xem https://secure.php.net/manual/en/function.passthru.php).

Nếu bạn đang sử dụng Linux, hãy chắc chắn rằng bạn có quyền sở hữu và truy cập quyền của tập lệnh

2 được sắp xếp đúng để nó thực sự chạy.

Khi chèn các giá trị được cung cấp của người dùng vào mã HTML (bất cứ khi nào bạn sử dụng các giá trị $_POST trong HTML của mình), bạn nên vệ sinh chúng - sử dụng hàm

4 để các thẻ
5 hoặc
6 có thể có hại.

Được chỉnh sửa 4 năm trước bởi Broj1

Như một quan sát, Exec và các chức năng khác mà các chương trình khởi chạy thường bị vô hiệu hóa trong cấu hình mặc định của PHP, chính xác vì lý do bảo mật.

Ngoài ra, cách mã trên sử dụng Exec, nó có thể gây ra sự cố ... ví dụ: giả sử bạn khởi chạy tập lệnh PHP bằng cách nhấp vào liên kết trên một trang, sau đó tập lệnh PHP chạy EXEC, chờ Python kết thúc và trả về một cái gì đó. & nbsp; Một người có ý định xấu có thể dễ dàng nhấp vào bánh xe cuộn qua liên kết (để mở liên kết trong tab mới) và mở tập lệnh PHP 20-30 lần nhanh như anh ta/cô ta có thể nhấp vào bánh xe cuộn, và sau đó mỗi tập lệnh PHP sẽ vào Xoay Python mở, và mỗi Python sẽ chạy tập lệnh Python của bạn mà lần lượt & nbsp; có thể đọc một tệp cấu hình hoặc danh sách phát và nhiều bản sao của tập lệnh của bạn bắt đầu ghi đè cùng một tệp và tất cả kết thúc một mớ hỗn độn. & nbsp;

Hãy nhớ rằng máy chủ của bạn cũng có thể bận và có thể mất 5-10 giây để Python được tải và chạy tập lệnh và trả về ... vì vậy người dùng có thể thấy trang PHP tải trong một thời gian dài và nghĩ rằng có gì đó bị sập và Nhấn tải lại ...

Nếu bạn muốn giữ nó với Exec hoặc các phương thức khác như vậy, tập lệnh PHP sẽ lưu bất kỳ tham số nào được nhập trên trang (nếu có) vào một tệp tạm thời và khởi chạy Python ... tập lệnh Python sẽ đọc tệp tạm thời và làm công cụ với các tham số đó ... & nbsp; Khi hoàn thành và bạn nhận được câu trả lời của mình, hãy xóa tệp tạm thời.

Nếu một bản sao khác của tập lệnh PHP của bạn được khởi chạy (bằng cách mở một tab mới hoặc bất cứ điều gì), bản sao khác này sẽ phát hiện tệp tạm thời và nếu nó không cũ hơn hãy nói 30s (chỉ trong trường hợp tập lệnh PHP trước đó bị hỏng và không xóa Tệp tạm thời) sau đó bạn không làm bất cứ điều gì vì bạn cho rằng phiên bản khác của tập lệnh PHP của bạn vẫn đang hoạt động theo yêu cầu. & NBSP;

Đây là cách thực hiện nó, và nó không giải thích cho nhiều người truy cập chức năng đó cùng một lúc. & NBSP; Nếu bạn muốn nhận biết nhiều người dùng, bạn nên đọc về các phiên hoặc cookie.

Dù sao, vâng ... đó là lý do tại sao dòng đầu tiên của tôi là "Định cấu hình máy chủ web của bạn để xử lý các tập lệnh PHP và tập lệnh PY & nbsp;" Sử dụng mod_wsgi với Apache để chạy các tập lệnh Python hoặc sử dụng fastcgi hoặc các phương thức khác ... hỗ trợ PHP trong Apache là siêu dễ dàng, chỉ cần thêm tệp dll / .so vào cấu hình và thêm trình xử lý cho các tệp .php và thêm index.php / Default.php vào Danh sách thư mục Index & NBSP;Configure your web server to handle php scripts and py scripts " use mod_wsgi with Apache to run python scripts, or use fastcgi or other methods... php support in apache is super easy, just add the dll / .so file to the configuration and add handler for .php files and add index.php / default.php to the DirectoryIndex list 

Làm cách nào để chạy kịch bản Python từ PHP?

PHP $ lệnh_exec = escapeshellcmd ('path-to-.py-file');$ str_output = shell_exec ($ Command_exec);echo $ str_output;?> Các đặc quyền đúng cần phải được đưa ra để tập lệnh Python được thực hiện thành công.Lưu ý - Trong khi làm việc trên một loại nền tảng UNIX, mã PHP được thực thi dưới dạng người dùng web. py-file'); $str_output = shell_exec($command_exec); echo $str_output; ?> The right privileges need to be given so that the python script is successfully executed. Note − While working on a Unix type of platform, PHP code is executed as a web user.

Làm cách nào để chạy tập lệnh Python từ nút HTML?

7 câu trả lời..
Đầu tiên bạn cần cài đặt bình.....
Tạo một thư mục mới.....
Để chạy, hãy mở lệnh nhắc lệnh đến thư mục mới bạn đã tạo trước đó, nhập python server.py hoặc python3 server.py để chạy tập lệnh, sau đó bạn sẽ nhận được phản hồi trong dấu nhắc thiết bị đầu cuối/lệnh của bạn mà máy chủ đang chạy trên http: //127.0.0.1: 5000 hoặc bất kỳ cổng nào khác ..

Tôi có thể sử dụng Python với PHP không?

Bạn có thể thực thi các tập lệnh python bằng hàm exec () trong tập lệnh PHP của bạn..