exec("cd /d $projectdir && git pull");
// /d trong windows có nghĩa là di chuyển lệnh cd sang ổ đĩa khác :D.
Câu lệnh hoàn toàn chạy tốt trong môi trường dev: php -S localhost:6996, tuy nhiên khi release lên server apache thì hoàn toàn ngậm hành, im phăng phắc không báo bất kỳ lỗi gì khác, chỉ biết return 1 :(.
Sau quá trình tìm kiếm thì giải pháp là:
**Root: https://stackoverflow.com/questions/28424664/apache-settings-block-php-exec-from-executing
1. Trong file httpd.conf thêm dòng cấu hình sau:
php_admin_flag safe_mode Off
safe_mode Off #neu dang On thi Off
2. Trong file php.ini kiểm tra cấu hình
disabled_functions
có liệt kê hàm exec hay không, nếu có thì bỏ đi.
*****Note ngoài lề:
Trong windows, mặc định khi mở cmd sẽ là thư mục user tại ổ C, nếu muốn cd sang ổ D, cần phải gõ lệnh D: sau khi gõ lệnh cd path. Để khắc phục tình trạng này, cần gõ lệnh: cd /d path ----- ez game
:D :D :D
thanks
Trả lờiXóa