我有一个奇怪的问题Ansible我使用它来安装/更新/管理我的网络服务器。
我有一个安装脚本,可以确保我的系统中始终有最新的 PHP5 模块Debian 6/阿帕奇 2系统:
- name: install apache2 and php5
action: apt pkg=$item state=latest
with_items:
- apache2
- php5
- libapache2-mod-php5
- php5-curl
[...]
notify:
- restart apache
它通常运行良好,但每隔几次运行,我的 apache 中就会出现 mod-php5-filter 而不是 mod-php5 - 这出于多种原因(主要是破坏一切)都是不好的。
我所要做的就是再次运行我的安装脚本 - 然后我回到 mod-php5
有什么想法吗?我可能做错了什么吗?
答案1
我建议将其作为 php5 的依赖项拖入。
apt-cache show php5
Package: php5
Priority: optional
Section: php
Installed-Size: 20
Maintainer: Debian PHP Maintainers <[email protected]>
Architecture: all
Version: 5.3.3-7+squeeze14
Depends: libapache2-mod-php5 (>= 5.3.3-7+squeeze14) | libapache2-mod-php5filter (>= 5.3.3-7+squeeze14) | php5-cgi (>= 5.3.3-7+squeeze14), php5-common (>= 5.3.3-7+squeeze14)
如果它认为 libapache2-mod-php5 在 apt pkg=php5 时不可用,那么它将获取 libapache2-mod-php5filter 依赖项列表中的下一个。如果您交换顺序,这种情况会不会更少发生with_items:
?