Tôi đã cài đặt libreoffice không đầu trên máy chủ freebsd với apache để chuyển đổi tài liệu theo chương trình (ví dụ: odt-> pdf). Nó hoạt động từ dòng lệnh! Nhưng mục tiêu của tôi là có thể làm điều đó từ php. Điều này yêu cầu người dùng web (www) có thể chạy libreoffice. Nhưng tôi không thể.Chạy libreoffice từ php exec()
Khi chạy libreoffice là người dùng của riêng tôi, tôi nhận được:
%libreoffice --headless -convert-to pdf Litteraturundervisningogit.doc
javaPathHelper: not found #This should not be a problem, says people on the net.
convert /usr/home/bundsgaard.net/www/jeppe/foredrag/Litteraturundervisningogit.doc ->
/usr/home/bundsgaard.net/www/jeppe/foredrag/Litteraturundervisningogit.pdf using writer_pdf_Export
%
Nếu tôi cố gắng lệnh tương tự như root, nó không hoạt động. Điều này cũng là vấn đề với www người dùng từ php:
sp# libreoffice --headless -convert-to pdf Litteraturundervisningogit.doc
javaPathHelper: not found
sp#
Vấn đề là tôi không nhận được bất kỳ thông tin từ libreoffice, vì vậy tôi không biết tại sao libreoffice không muốn chạy như những người dùng khác hơn của riêng tôi.
Câu hỏi của tôi là: Làm cách nào để cho phép người dùng www chạy libreoffice qua exec() bằng php?
Là nó chỉ là một vấn đề PATH? Có gì trong '$ PATH' của họ? – Wrikken
Bạn đã thử nghiệm bằng dòng lệnh với người dùng root, '% sudo php program.php', mà khách hàng có quyền? –