littlesqx / php-watcher
当目录中的源代码发生变化时,自动重新启动PHP应用程序
Requires
- php: ^7.1
- ext-swoole: >=4.4.0
- symfony/console: ^4.3
- symfony/process: ^4.3
- symfony/yaml: ^4.3
- yosymfony/resource-watcher: ^2.0
Requires (Dev)
- phpunit/phpunit: ^7.5
- swoft/swoole-ide-helper: ^4.4
This package is auto-updated.
Last update: 2024-09-17 19:57:18 UTC
README
PHP-watcher通过在目录中检测到文件更改时自动重新启动应用程序来帮助开发长时间运行的PHP应用程序。
以下是它的外观
PHP-watcher不需要对您的代码或开发方法进行任何额外的更改。php-watcher
是php
的替代包装器,要使用PHP -watcher替换执行脚本时命令行中的php
。
安装
您可以通过以下方式全局安装此包
composer global require littlesqx/php-watcher
之后,phpunit-watcher watch可以在系统上的任何目录中运行。
或者,您可以将包作为项目的开发依赖项本地安装
composer require littlesqx/php-watcher --dev
本地安装后,您可以使用vendor/bin/php-watcher
运行它。
使用方法
所有示例都假设您已全局安装了包。如果您选择本地安装,请将vendor/bin/
添加到php-watcher
提及的任何位置。
PHP-watcher包装您的应用程序,因此您可以传递所有通常传递给应用程序的参数
php-watcher [your php app]
使用PHP-Watcher很简单。如果您的应用程序接受主机和端口作为参数,我可以用选项--arguments
启动它
php-watcher server.php --arguments localhost --arguments 8080
此脚本的所有输出都带有前缀[php-watcher]
,否则应用程序的所有输出(包括错误),都将按预期回显输出。
配置文件
PHP-Watcher支持使用配置文件自定义其行为。选项文件可以命名为.php-watcher.yml
、php-watcher.yml
或php -watcher.yml.dist
。工具将按此顺序在当前工作目录中查找文件。可以使用--config <file>
选项指定替代本地配置文件。
具体性如下,因此命令行参数将始终覆盖配置文件设置
- 命令行参数
- 本地配置
配置文件可以采用任何命令行参数,例如
watch: - src - config extensions: - php - yml ignore: - tests
监控多个目录
默认情况下,PHP-Watcher监控当前工作目录。如果您想控制此选项,请使用--watch
选项添加特定路径
php-watcher --watch src --watch config server.php
现在,PHP-Watcher只有在./src
或./config
目录中发生更改时才会重新启动。默认情况下遍历子目录,因此不需要显式包含它们。
指定扩展监控列表
默认情况下,PHP-Watcher查找具有.php
扩展的文件。如果您使用--ext
选项并监控app,yml
,PHP-Watcher将监控扩展为.php
和.yml
的文件
php-watcher server.php --ext=php,js
现在,PHP-Watcher将在目录(或子目录)中的任何更改的文件(扩展为.php
、.yml
)上重新启动。
忽略文件
默认情况下,PHP-Watcher仅在.php
文件更改时重新启动。在某些情况下,您可能想忽略某些特定文件、目录或文件模式,以防止PHP-Watcher过早地重新启动您的应用程序。
这可以通过命令行完成
php-watcher server.php --ignore public/ --ignore tests/
也可以忽略特定文件
php-watcher server.php --ignore src/config.php
模式也可以被忽略(但请确保引用参数)
php-watcher server.php --ignore 'src/config/*.php'
请注意,默认情况下,PHP-Watcher忽略所有点和VCS文件。
延迟重新启动
在某些情况下,你可能想等待多个文件发生变化。在检查新文件变化前的超时时间为1秒。如果你正在上传多个文件并且耗时数秒,这可能导致你的应用程序不必要地多次重启。
要添加额外的节流或延迟重启,请使用--delay
选项
php-watcher server.php --delay 10
为了更高的精度,请使用浮点数
php-watcher server.php --delay 2.5
默认可执行文件
默认情况下,PHP-Watcher使用php
bin可执行文件来运行你的脚本。如果你想提供自己的可执行文件,请使用--exec
选项或在配置文件中使用executable
参数。如果你正在使用多个PHP版本,这尤其有用。
executable: php
或使用CLI
php-watcher server.php --exec php7
许可证
MIT http://rem.mit-license.org
我该如何感谢你呢?
为什么不给这个GitHub仓库点个star呢?我很乐意得到关注!或者,你可以在PayPal上向我项目捐赠
谢谢!