我正试图通过我的项目dirs和subdirs递归循环,并检查php命令行的语法。
我可以使用
列出所有php文件find ./ -name '*.php'
我可以检查单个php php
php -l ./full/path/to/file/filename.php
但我不能让他们一起工作
find ./ -name '*.php' | php -l
这真的不做任何检查。我尝试在文件中强制语法错误,但每次都告诉我:
No syntax errors detected in -
如何正确管道每个文件名以进行php语法检查?
随意调整标题和/或问题,我的英语不太好。
编辑1:我在stackoverflow上搜索并尝试了这些,但没有成功
$ find ./ -name '*.php' | xargs -0 "php -l"
xargs: argument line too long
编辑2:另一次尝试
$ find ./ -name '*.php' -exec php -l
find: missing argument to `-exec'
答案 0 :(得分:1)
您可以使用
运行带有每个文件名的php命令find ./ -name '*.php' -exec php -l {} \;
答案 1 :(得分:1)
您可以在shell循环中执行此操作:
for file in $(find ./ -name '*.php')
do
php -l "${file}"
done