2011-07-07 39 views
6

Tôi muốn chạy tệp python trong trình duyệt. Tôi đã cài đặt apache. và đã định cấu hình tệp httd.conf. Tôi đã tạo tệp test.py. Sau đó, tôi đã thử chạy test.py bằng trình duyệt của mình bằng cách nhập htt://localhost/test.py. Khi tôi làm điều này, tôi nhận được lỗi sau:Chạy tệp .py trong trình duyệt

Internal Server Error 
The server encountered an internal error or misconfiguration and was unable to complete your request. 
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error. 
More information about this error may be available in the server error log. 

Trong log lỗi của tôi

[Thu Jul 07 18:39:55 2011] [error] [client 127.0.0.1] (OS 2)The system cannot find the file specified. : couldn't create child process: 720002: test.py 
[Thu Jul 07 18:39:55 2011] [error] [client 127.0.0.1] (OS 2)The system cannot find the file specified. : couldn't spawn child process: C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/test.py 

gì có thể là vấn đề ở đây?

+7

Chạy Python trên trình duyệt nghĩa là bạn phải định cấu hình trình duyệt chứ không phải máy chủ. Khi bạn chạy Python trong trình duyệt, trình duyệt của bạn (FireFox, IE, Opera, Safari, v.v.) đang chạy Python. Điều này không liên quan gì đến Apache. Bạn đang thực sự ** cố gắng làm gì? –

+0

@ S.Lott Và cách cấu hình trình duyệt? –

Trả lời

0

Nếu bạn chưa làm điều này đã có, bạn cần phải thiết lập các điều khoản thích hợp trên test.py đến 755.

+0

Cảm ơn bạn đã trả lời, làm cách nào tôi có thể đặt quyền này trong các cửa sổ 7. –

+0

@Roayl Pinto - Câu hỏi hay; Tôi là một người Unix. Tôi đã không nhận ra bạn đang ở trên Windows, và nó có thể không quan trọng với Apache. –

1

Nếu đó là một chương trình CGI, chắc chắn rằng nó phù hợp với các đặc điểm kỹ thuật CGI (tức là nó sẽ tạo ra một dòng tiêu đề với loại MIME và một dòng trống trước khi cố gắng viết bất kỳ thứ gì khác)

0

Có tệp trong C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/như thông báo lỗi nêu rõ. Nếu không, bạn cần phải đặt nó ở đó hoặc thay đổi cấu hình của bạn để nó trông ở đúng vị trí.

Ngoài ra, như các câu trả lời khác, hãy kiểm tra xem nó có quyền chính xác không và kiểm tra xem nó có xuất tất cả các tiêu đề cần thiết hay không.

0

tôi sẽ thay đổi url của bạn sang một nhiều khả năng trong trường hợp đầu tiên, tức là http://localhost/test.py chứ không phải là một trong những bạn trích dẫn (htt://localhost/test.py)

0

bạn có thể thử mod_python, nó hỗ trợ các ứng dụng web viết bằng phân tích cú pháp python.the được nhúng trong máy chủ như một mô-đun apache để ứng dụng chạy nhanh hơn cgi truyền thống. Ngoài ra nếu bạn muốn dính vào cách cgi, hãy xác nhận rằng tất cả các tệp .py nằm trong thư mục có tên "cgi-bin" và có quyền thực thi.

2

Options + ExecCGI dưới htdocs, ScriptAlias ​​/ cgi-bin/"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin /"

Đó là những gì tôi có và nó hoạt động

+0

Tệp của bạn có thể nằm trong cgi-bin –

10

Nó cũng có thể xảy ra nếu shebang của bạn không chính xác (ví dụ, một Unix giống như #!/usr/bin/env python). Nếu đúng như vậy, hãy thay đổi nó thành đường dẫn chính xác để thực thi Python của bạn (ví dụ: #!C:\Python26\python.exe) hoặc xem câu trả lời này: How do I ignore the Perl shebang on Windows with Apache 2?

Các vấn đề liên quan