Đối với một cái gì đó đơn giản này, bạn không nên thậm chí sử dụng PHP, vì bạn có thể làm điều đó chỉ với RApache, brew
gói và đồng bằng HTML (CSS/JS là không bắt buộc). Chỉ cần đọc the RApache manual và xem Jeroen Ooms 'video tutorial. Bạn cũng nên đọc hướng dẫn sử dụng brew
. Jeff thực sự đã làm rất tốt!
Tóm lại, bạn chỉ cần thiết lập apache2.conf hoặc .htaccess tệp. Thay vì sử dụng chỉ thị <Directory>
hoặc <Location>
, bạn có thể sử dụng chỉ thị <FilesMatch>
để bạn có thể đối sánh tệp với regexpr. Đây là một mẫu .htaccess:
<FilesMatch "^.+\.rhtml$">
SetHandler r-script
RHandler brew::brew
</FilesMatch>
tôi sử dụng phần mở rộng tập tin đặc biệt .rhtml
nơi tôi trộn HTML với cú pháp R trong vòng <%
và %>
thẻ (xem brew
tài liệu). Tôi đã không sử dụng brew
với PHP, bởi vì brew
với HTML đã làm các trick.
Dù sao, bạn nói rằng bạn muốn:
viết một trang trong PHP có chứa một lệnh Tôi muốn thực hiện trong R và sau đó vượt qua các kết quả lại cho được thể làm việc với họ
- về thực thi lệnh từ người dùng nhập ... tốt ... đừng làm điều đó! Đặc biệt là không cho phép người dùng thực thi các lệnh tùy chỉnh vì họ có thể dễ dàng chuyển các lệnh
system
hoặc file.*
và làm hỏng hệ thống của bạn! Bạn có thể sử dụng AppArmor, nhưng nó vẫn còn một chặng đường dài xuống ...
- tập trung vào hình thức HTML đơn giản và sử dụng POST, GET, COOKIES, FILES và MÁY CHỦ biến RApache cung cấp, và sau đó điều chỉnh các yếu tố đầu vào trong R script
- về "chuyển kết quả trở lại", bạn có thể sử dụng gói
XML
R hoặc rjson
(yêu thích của tôi và tôi khuyên bạn nên sử dụng). Sau đó, bạn có thể chuyển đối tượng R thành hàm toJSON
và bỏ kích hoạt nó bằng JavaScript. Tất nhiên, điều đó chỉ đúng nếu khách hàng của bạn là trình duyệt web, nếu không, nếu bạn muốn chuyển một số thông tin đến hệ thống nhúng, bạn nên sử dụng tiêu chuẩn XML
-way
- để làm điều gì đó đơn giản, bạn không cần PHP. Dù sao, bạn nên liên hệ với Jeroen, tôi biết ông đã sử dụng một số PHP trong đơn đăng ký Stockplot của mình
Nếu có bất kỳ câu hỏi nào khác, hãy sử dụng RApache mailing list.
... và xin chào thế giới R-webdev! =)
1. Cảm ơn bạn! Bạn không có ý tưởng bao nhiêu đó là gây phiền nhiễu cho tôi. 2. Điều này có vẻ rất hữu ích, tôi sẽ xem xét nó một khi tôi nhận được tốt hơn ở tất cả các công cụ này. 3. Đây chính xác là những gì tôi đang tìm kiếm. Cảm ơn bạn đã viết nó! Trong trường hợp ai đó tò mò, tôi đã có thể nhận được kết quả chính xác mà tôi đang tìm kiếm bằng cách sử dụng: " Php $ rQuery =" r -e 'cat (3 + 1)' "; hệ thống ($ rQuery);? > " – crix
Niềm vui. Littler (ví dụ '/ usr/bin/r') bắt đầu thể hiện R nhúng của nó với tùy chọn đó với cùng lý do. –
Xin lỗi vì định dạng trên vẫn đang học SO! – crix