Tôi đã cố gắng sử dụng exec()
với 'whoami'
để kiểm tra xem nó hoạt động và tôi đã nhận kết quả củaphp exec() không thực hiện lệnh
nt authority\system
Bây giờ tôi cần phải chạy một file .exe
với các thông số từ php
thông qua chức năng exec()
.
Tôi đã thử điều này trong dấu nhắc lệnh và nó thực sự chạy chương trình với các tham số đã cho. Đây là lệnh mẫu.
LƯU Ý file exe được 3 đầu vào (thư mục, file_name, report_file_nmae)
> ..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml
Nhưng khi tôi chạy lệnh này từ php
file:
exec('..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml');
gì đang xảy ra. Đây là lần đầu tiên tôi sử dụng hàm exec(), vì vậy tôi không quen thuộc với các chi tiết của nó. Có gì sai?
tôi đã cố gắng sử dụng:
\\
thay vì\
escapeshellarg()
trên thư mục- thêm
""
xung quanh thư mục tên thư mục
Không may mắn
Phụ Lục:
echo exec($command) // echos < .... why?
hoặc
exec($command, $output);
print_r($output); // Array()
Tôi thậm chí đã thay đổi sự cho phép trên các tập tin để kiểm soát đầy đủ để tất cả người dùng. Nếu tôi gọi chương trình từ command prompt
, tôi có thể thấy biểu tượng xuất hiện bên cạnh đồng hồ trong một giây.
Nhưng cùng một cuộc gọi từ php
thậm chí sẽ không gọi chương trình.
Sửa
Thậm chí exec('notepad.exe');
không hoạt động. Một cái gì đó đã được thực hiện với cấu hình php
có thể?
Đảm bảo PHP có quyền để thực thi tệp đó. – Joren
làm thế nào tôi có thể chắc chắn ..... – Brian
Tôi thành thật không biết làm thế nào để làm điều đó trong Windows vì nó cho phép hệ thống là thực sự không phù hợp. – Joren