Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

auto_reload_enable 这个参数没生效? #175

Open
im55cc opened this issue Mar 28, 2019 · 2 comments
Open

auto_reload_enable 这个参数没生效? #175

im55cc opened this issue Mar 28, 2019 · 2 comments

Comments

@im55cc
Copy link

im55cc commented Mar 28, 2019

我使用的 Vagrant 2.2.3 + centOS 7.0 ,在 DEMO 测试代码的时候,每次修改一个测试文件都要使用 php server.php 这个命令才会生效,我配置里这个 参数也打开了,这是为什么呢?

@shellvon
Copy link
Contributor

您可以按照以下步骤排查:

  1. auto_reload_enable 只能监听到 onWorkerStart之后加载的文件有效,所以请确保你修改的文件是在此之后加载的文件,相关文档您可以看这里
  2. 若您使用了Docker技术,您还需要排查以下可能:
    1. 文件的更新使用了 Inotify 监听,一旦有文件变动需要重新加载,您可以在日志看到提示哪些文件会被重新加载,日志查看方式是 logr/logp。参见这里: https://github.com/pinguo/php-msf-docker/blob/e3af2b63337938a9d5295cdbe85f19a1e1c3a6aa/config/.bashrc#L14-L15
    2. 如果您使用的 CentOS 是 Docker-for-Windows 运行的,那么只能使用nodemon来做监听.
    3. 受限于 SELinux 机制,执行 docker 需要使用 --privileged

如果您依然无法做到自动热更新,推荐您使用 nodemon 进行管理,命令是:

nodemon -L  --exec "php server.php"

@im55cc
Copy link
Author

im55cc commented Apr 2, 2019

好的,非常感谢。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants