2016-12-28 17 views
0

我有這樣的任務ansible的使用裸變量已被棄用的PHP Ansible

- name: Install 
    apt: pkg="php7.0-dev" state=present 
    when: php.pecl_packages is defined 

- name: Install Package 
    shell: echo "\n\n\n\n\n\n\n\n\n" | pecl install {{ item }} 
    register: pecl_result 
    changed_when: "'already installed' not in pecl_result.stdout" 
    failed_when: "pecl_result.stderr or ('ERROR' in pecl_result.stdout)" 
    with_items: php.pecl_packages 
    when: php.pecl_packages is defined 

- name: Create extension .ini file 
    template: > 
    src="extension.tpl" 
    dest="/etc/php/7.0/mods-available/{{ item }}.ini" 
    owner="root" 
    group="root" 
    mode=0644 
    with_items: php.pecl_packages 
    when: php.pecl_packages is defined 

- name: Enable extension 
    shell: Php7enmod {{ item }} 
    with_items: php.pecl_packages 
    when: php.pecl_packages is defined 

和默認/ main.yml作爲

php: 
    install: '1' 
    packages: [php7.0-mcrypt] 
    peclpackages: [hash] 

和模板/ extension.tpl作爲

; Configuration for php PECL {{ item }} extension 
extension={{ item }}.so 

和我仍然越來越多,裸變量是不推薦使用的異常,我該怎麼做?

[棄權警告]:不推薦使用裸變量。更新您的 劇本,以便環境值使用完整變量語法 ('{{php.pecl_packages}}')。

回答

1

您可能要搜索「ansible裸變量」 SO或谷歌......

代替with_items: php.pecl_packages使用with_items: "{{php.pecl_packages}}"

+0

我改變了它,但得到了這個「失敗」:true,「msg」:「'dict object'沒有屬性'pecl_packages'」}'。 –

+1

您在默認情況下擁有'peclpackages',但嘗試訪問'pecl_packages'。 –