Tôi có một tập lệnh php xử lý đầu vào biểu mẫu. Vì lý do thiết kế, cả một chút ngoài tầm kiểm soát của tôi và tôi không muốn thay đổi hoàn toàn, tôi phải gọi một kịch bản perl với các tham số được chỉ định trong biểu mẫu html.Gọi perl từ php?
Tôi đã khử trùng tất cả các yếu tố đầu vào rồi xuất chúng ra tệp được gọi là đầu vào, được đọc bởi tập lệnh perl có tên, vì lợi ích ngắn gọn trong câu hỏi này, script.pl. Script.pl nên làm một số công cụ và sau đó viết tất cả các kết quả đầu ra vào một tập tin có tên đầu ra.
tôi gọi là kịch bản perl từ php như vậy:
system('perl script.pl 2>errors');
Không tốt, không có gì xảy ra. đầu ra không được tạo ra, lỗi không được tạo ra, và tác dụng phụ không xảy ra.
Apache của tôi chạy dưới dạng id người dùng và id nhóm www. Thư mục của tôi được đặt với 775 cài đặt có quyền sở hữu như tôi: www-data. (Tên người dùng của tôi được thay thế bằng "tôi" để tìm kiếm quyền riêng tư).
Câu hỏi của tôi là hai lần: 1) Tôi có làm điều này sai không? Nếu vậy làm thế nào tôi nên cải thiện khi mã? 2) Có cách nào tốt hơn để bắt lỗi trong quá trình thực thi hệ thống không?
Sau khi lập trình trong perl trong một thời gian, php cảm thấy giống như một nỗi đau trong ass.
Hệ điều hành: Phiên bản máy chủ Ubuntu
Đối với mục đích thử nghiệm: Bạn có nhận được bất kỳ đầu ra với 'passthru ('script.pl perl 2> &1');' – VolkerK
passthru() làm mọi thứ như dự định gì đang xảy ra ??? –
đọc:?. Http://php.net/manual/en/function.passthru.php –