我正在尝试在Vagran虚拟机上运行我的Yii2应用程序。作为提供我使用Ansible。这是我的ansible playbook文件:
---
- hosts: vagrant
sudo: true
tasks:
- name: 1. install Apache
apt: name=apache2 state=present
- name: 1.1 Delete temporary file
file: path=/var/www/web/index.html state=absent
- name: 2. install PHP module for Apache
apt: name=php5 state=latest update_cache=yes
- name: 3. Install PHP GD library
apt: name=php5-cli state=latest
- name: 4. Start Apache
service: name=apache2 state=running enabled=yes
- name: 5. Install MySQL
apt: pkg=mysql-server state=present
- name: 6. Install python-mysqldb
apt: pkg=python-mysqldb state=present
- name: 7. Install PHP MySQL bindings
apt: pkg=php5-mysql state=present
- name: 8. Restart apache
service: name=apache2 state=restarted
- name: 9. Set MySQL root password
debconf: name='mysql-server' question='mysql-server/root_password' value='password' vtype='password'
- name: 10. Confirm MySQL root password before installing
debconf: name='mysql-server' question='mysql-server/root_password_again' value='password' vtype='password'
- name: 11. Database creation with name gitSearch
mysql_db: name=gitSearch state=present
- name: 12.a Copy database dump
copy: src=../gitSearch.sql.bz2 dest=/tmp/gitSearch.sql.bz2
- name: 12.b Copy database dump
mysql_db: name=gitSearch state=import target=/tmp/gitSearch.sql.bz2
- name: 13. Ensure curl is installed
apt: pkg=curl state=installed
when: ansible_os_family == 'Debian'
- name: 14. Install Composer into the current directory
shell: >
curl -sS https://getcomposer.org/installer | php
creates=/usr/local/bin/composer
- name: 15. Install php5-curl
apt: name=php5-curl state=latest update_cache=yes
- name: 16. Move Composer into globally-accessible location.
shell: >
mv composer.phar /usr/local/bin/composer
creates=/usr/local/bin/composer
- name: 18. Update dependencies v2
composer: command=install working_dir=/var/www
当我运行我的项目时,我有一个例外:
ReflectionException
Class yii\debug\Module does not exist
in /var/www/vendor/yiisoft/yii2/di/Container.php
我认为问题在于作曲家,因为在提供作曲家任务之前一切都很好。在我的本地机器(不是Vagrant盒子)上一切都很好。 config中的调试器部分:
$config['modules']['debug']['class'] = 'yii\debug\Module';
$config['modules']['debug']['allowedIPs'] = ['*'];
答案 0 :(得分:3)
看起来没有安装Debug模块和/或Gii模块。
请检查yii2项目根目录中的composer.json
文件,并确保撰写器文件的require-dev
部分中包含以下行:"yiisoft/yii2-debug": "~2.0"
和{{ 1}}。
然后在你的对象的根目录中运行"yiisoft/yii2-gii": "~2.0"
。
如果这不是问题,您可能running the application with the wrong permissions.
快乐的编码!