Đặt giá trị lỗi thông báo php với tham số bàn điều khiển


10

Để kiểm tra các dự án PHP của tôi về các lỗi, tôi thường sử dụng lệnh này:

find ./ -type f -name \*.php -exec php -l '{}' \; | grep -v "No syntax errors detected"

Tôi muốn mở rộng phần này php -l '{}' \;với một số tham số để nó sẽ sử dụng mức độ lỗi thông báo tùy chỉnh và không phải là mức được xác định trong php.ini. Điều này có thể không?

(Tôi biết rằng câu hỏi có liên quan đến mã hóa. Mặt khác, nó liên quan nhiều hơn đến các lệnh shell. Nếu bạn nghĩ rằng nó sẽ tốt hơn trên stackoverflow thì hãy thoải mái di chuyển nó. Tôi không chắc câu hỏi phù hợp hơn ở đâu.)


Bạn có nghĩa là error_reportingcấp độ? Tại sao bạn không muốn sử dụng giá trị trong php.inihoặc tùy chỉnh trong các tệp php.
lượng tử

@quanta: Vâng, tôi đang nói về error_Vporting. Xin lỗi, nó không đủ rõ ràng. Tôi thay đổi câu hỏi bây giờ. Tôi không muốn thay đổi nó trong php.ini vì đôi khi tôi cũng sử dụng chuỗi lệnh này trên máy chủ trực tiếp. Và tự đặt nó trong các tệp cũng không phải là một tùy chọn vì tôi sẽ phải đặt nó trong mọi tệp vì lệnh find thực thi từng tệp riêng lẻ. Và đôi khi tôi có các dự án nơi chúng tôi sử dụng các thư viện bên ngoài và tôi cũng muốn kiểm tra chúng cùng một lúc.
Raffael Luthiger

Câu trả lời:


14

Theo php -h

-d foo[=bar]     Define INI entry foo with value 'bar'

Nếu bạn muốn mặc định sản xuất được đề xuất (E_ALL & ~ E_DEPRECATED), giá trị sẽ là 22527 trong PHP 5.3 và 24575 trong PHP 5.4+.

php -l -d error_reporting=22527

Tìm giá trị cho các kết hợp khác nhau là đơn giản.

php -r 'echo E_ALL & ~E_NOTICE | E_STRICT;' # should return 32759
php -r 'echo E_ALL & ~E_DEPRECATED;' # should return 22527 in PHP 5.3, 24575 in PHP 5.4+

1
chết tiệt ... tôi đã đọc "php -h" khoảng 10 lần nhưng không hiểu sao đầu óc tôi luôn nhảy qua dòng này .... Vâng, đây là thứ tôi đang tìm kiếm. Trong trường hợp của tôi, tôi muốn sử dụng: E_ALL | E_STRICT là 32767.
Raffael Luthiger
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.