我正在尝试在 Vagran 虚拟机上运行我的 Yii2 应用程序。作为前提,我使用 Ansible。这是我的 ansible 剧本文件:
---
- 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
Run Code Online (Sandbox Code Playgroud)
当我运行我的项目时,我有一个例外:
ReflectionException
Class yii\debug\Module does not exist
in /var/www/vendor/yiisoft/yii2/di/Container.php
Run Code Online (Sandbox Code Playgroud)
我认为问题出在作曲家,因为在供应到作曲家任务之前一切都很好。在我的本地机器(不是 Vagrant 盒子)上,一切都很好。配置中的调试器部分:
$config['modules']['debug']['class'] = 'yii\debug\Module';
$config['modules']['debug']['allowedIPs'] = ['*'];
Run Code Online (Sandbox Code Playgroud)
看起来没有安装调试模块和/或 Gii 模块。
请检查composer.jsonyii2 项目根目录中的文件,并确保在 Composerrequire-dev文件的部分中存在以下行:"yiisoft/yii2-debug": "~2.0"和"yiisoft/yii2-gii": "~2.0".
然后composer update在项目的根目录中运行。
如果这不是问题,则您可能使用错误的权限运行应用程序。
快乐编码!
| 归档时间: |
|
| 查看次数: |
11660 次 |
| 最近记录: |