PHP5+nginx+yii2.0高级+composer+mongodb

来源:互联网 发布:淘宝上开网店要钱吗 编辑:程序博客网 时间:2024/05/22 15:15

最近刚开始接触php开发,在安装这些东西的时候遇见各种问题,在这里写一下自己的心得和安装步骤。大家安装过程中一定要注意流程哪里是否安装失败,因为网络原因,我醉了多少次。

我的操作系统使用的ubuntu14.04

一.安装php5(使用yii2.0,php版本必须大于5.4)
1 sudo add-apt-repository ppa:ondrej/php5
2 sudo apt-get update
3 安装它的扩展应用
sudo apt-get install php5-cgi php5-fpm php5-curl php5-mcrypt php5-gd php5-dev
开启测试一下php5服务。
sudo service php5-fpm {start|stop|quit|restart|reload|logrotate}

二。安装nginx(这里有两种方法安装)
sudo apt-get install nginx
三。安装mongodb
第一种:使用pecl安装
1.登陆https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/按照步骤安装
2.初始化php的mongodb扩展
sudo pecl install mongo
3.在/etc/php5/mods-available目录下创建mongo.ini,在里面写入
extension=mongo.so
4.创建链接
sudo ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/30-mongo.ini
sudo ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cgi/conf.d/30-mongo.ini
sudo ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/30-mongo.ini
5.重启php服务
sudo service php5-fpm restart

第二种使用源码安装
1,同上面的第一步
2.从网上下载mongodb-mongodb-php驱动文件
tar zxvf 驱动文件.tar.gz
cd 驱动文件
phpize
./configure
sudo make install
3.同上3
4.同上5

四.安装composer
1. sudo curl -sS https://getcomposer.org/installer | sudo php -d detect_unicode=Off

  1. 将命令设为全局命令
    mv composer.phar /usr/local/bin/composer
  2. 测试安装成功
    composer -v

五。下载使用yii高级2.0
1.直接上官网下载yii2的高级压缩包,将其放在在服务器的目录下
例如服务器安装在/usr/share/nginx/,可以将yii目录放在下面(假设目录名为yii),这样yii的位置就是/usr/share/nginx/yii
2. 运行yii目录下的init脚本
./init
3。去/etc/hosts文件创建一个假的域名,假设为haha.com
127.0.0.1 haha.com
4. 去/etc/nginx/conf.d/目录下创建一个配置文件,文件名随意后缀为.conf
配置文件如下
server {
listen 80;

root /usr/share/nginx/yii/frontend/web;index index.php index.html index.htm;# Make site accessible from http://localhost/server_name haha.com *.haha.com;charset utf-8;location / {    try_files $uri $uri/ /index.php?$args;}location ~ .*\.(php|php5)?$ {         fastcgi_pass unix:/var/run/php5-fpm.sock;             #fastcgi_pass   127.0.0.1:9000;             include     fastcgi_params;    }       location ~ /\.(ht|svn|git) {            deny all;    }

5.现在去访问haha.com就可一看到欢迎的界面
如果404,说明配置文件有问题
如果500,可以去/var/log/nginx/error.log查看原因
当时我下的yii版本没有vendor目录,
可以进入composer.json所在的目录下使用
composer update

六。链接数据库
第一中方法:
1.在yii2目录下面的composer.json文件中添加
“yiisoft/yii2-mongodb”: “*”
如下
“require”: {
“php”: “>=5.4.0”,
“yiisoft/yii2”: “>=2.0.6”,
“yiisoft/yii2-bootstrap”: “*”,
“yiisoft/yii2-swiftmailer”: “*”,
“yiisoft/yii2-mongodb”: “*”
},
2..执行 composer install命令
如果不成功 先执行sudo composer self-update
如果这句不成功出现错误
Problem 1
- yiisoft/yii2 2.0.x-dev requires bower-asset/jquery.inputmask ~3.2.2 -> no matching package found.
- yiisoft/yii2 dev-master requires bower-asset/jquery.inputmask ~3.2.2 -> no matching package found.
- yiisoft/yii2 2.0.8 requires bower-asset/jquery 2.2.@stable | 2.1.@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.7 requires bower-asset/jquery 2.2.@stable | 2.1.@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.6 requires bower-asset/jquery 2.1.@stable | 1.11.@stable -> no matching package found.
- Installation request for yiisoft/yii2 >=2.0.6 -> satisfiable by yiisoft/yii2[2.0.6, 2.0.7, 2.0.8, dev-master, 2.0.x-dev].

Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see https://getcomposer.org/doc/04-schema.md#minimum-stability for more details.

使用命令
composer global require “fxp/composer-asset-plugin:1.0.0”,
然后在执行上一句命令,在这过程中一定要耐心等,很慢,很且容易执行失败,所以要反复执行失败的语句(在composer install失败次数最多)

2.下载完成后找到yii2前端目录或后端目录(要看你在服务器的配置文件中配置的是前端还是后端)下/yii/frontend/web下的入口脚本index.php,讲下面这句注释掉
require(DIR . ‘/../../vendor/yiisoft/yii2-mongodb/Yii.php’);
3.在common下的config目录下的main-local.conf配置链接语句
‘mongodb’ => [
‘class’ => ‘\yii\mongodb\Connection’,
‘dsn’ => ‘mongodb://127.0.0.1:27017/yiidb’,
],
因为mongodb默认不要用户名和密码所以不用配置
4.在common/model/user.php将use yii\db\ActiveRecord;修改成
use yii\mongodb\ActiveRecord;
5 可以登陆yii首页点击login输入用户名和密码,成功会提示密码错误。

第二种方法:
如果你认为第一种方法的第二步很繁琐,可以使用简单的配置
自己从网上找到插件yii2-mongodb插件包,将其防置在vendor/yiisoft/目录下,
修改composer.josn文件同上,
在/vendor/yiisoft/extensions.php文件中加入以下语句
‘yiisoft/yii2-mongodb’ =>
array (
‘name’ => ‘yiisoft/yii2-mongodb’,
‘version’ => ‘9999999-dev’,
‘alias’ =>
array (
‘@yii/mongodb’ => $vendorDir . ‘/yiisoft/yii2-mongodb’,
),
),
然后以下步骤同上即可。

0 0