1. 程式人生 > >PHP5+nginx+yii2.0高階+composer+mongodb

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

最近剛開始接觸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

六。連結資料庫(yii-mongo擴充套件)
第一中方法:
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’,
),
),
然後以下步驟同上即可。

相關推薦

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

最近剛開始接觸php開發,在安裝這些東西的時候遇見各種問題,在這裡寫一下自己的心得和安裝步驟。大家安裝過程中一定要注意流程哪裡是否安裝失敗,因為網路原因,我醉了多少次。 我的作業系統使用的ubuntu14.04 一.安裝php5(使用yii2.0,php版本

yii2.0 高階版 restful api使用

1、複製任意個目錄(backend)為api 2、開啟api下的main.php 修改 id=>app-api,'controllerNamespace' => 'api\controllers', 'identityClass' => 'app\models\User'(使用者

win10 yii2.0高階框架配置時開啟init.bat秒退的解決方法

1.設定win10 php 環境變數 2..開啟php.ini檔案,如我的目錄是D:\wamp\php\php.ini,搜尋extension=php_openssl.dll將前面的分號;刪掉使之生效; 參考文獻:

Yii2.0高階模板前後臺共用一個域名的配置

以www.ff.com為例,訪問後臺的路徑則為www.ff.com/admin server {     listen       80;        server_name  www.ff.com;     set $root /home/wwwroo

Nginx+Apache Yii2.0 配置方案

  最近用Yii2.0框架做了個小專案,雖然專案本身業務邏輯不復雜,但是由於本身業務邏輯的特殊性,在上午9點到12點之間系統訪問量會突然上升(瀏覽量和使用者上傳檔案量)。導致系統單純的部署在Apache下,支撐不了這麼多的併發數;單獨部署Nginx又由於使用者頻繁的提交資料,出現大量的502錯誤。然後又由於各

composer安裝yii2.0並配置phpstudy

0,安裝phpstudy,http://www.phpstudy.net/download.html 1,安裝composer,https://blog.csdn.net/wengedexiaozao/article/details/79893672 2,在web資料夾下執行命令:compose

Yii2.0-advanced-10—高階版新增API應用

先在專案的根目錄下複製一份 backend 為 api: cp backend/ api -r 拷貝 api 環境 cp -a environments/dev/frontend environments/dev/api cp -a environments/p

yii2.0 mongodb 模糊查詢

場景:     模糊查詢電話號碼分析:    mongodb對與模糊的查詢的實現是依賴正則解決:     yii  $regex 它的值是不含 // 的正則字串就好$conditions['tel'] = ['$regex' => $conditions['tel']]

YII2.0實現前後臺分離登錄

pda reat tro nds efault 用戶 個數 prim web 要實現前後臺分離登錄, 那我們先建立一個admin表,用來存放管理員數據,而會員仍然用原有的user表. 首先, 我們運行 yii migrate/create admin 創建一個migrati

Yii2.0 下的 load() 方法的使用

tail sco 加載 pub name model 解決方法 使用 yii2.0 一 問題 最近在使用 Yii2.0,遇到一個 bug:在 /models/OrderDetail.php add() 方法中調用 load() 方法加載數據,卻加載不了。 public f

yii2.0 如何創建from表單

2.0 false logs .com ace 一個 xtend images models   好久沒有回顧yii2了,現在回想,已經不記得原來是怎麽做的了,現在寫在這裏,也不怕忘了   首先,我們得創建一個模型,根據官網        先將通讀一下,不然很多都不知道為什

yii2.0 中刪除滿足某幾個條件的全部數據

lis variable 全部 let spa user 數據 ble not in 刪除user表中的type=2 and usercategoryid 不是1,2。3的全部數據User::deleteAll([ ‘and‘, ‘type = :type_id‘, [‘n

yii2.0中yiiaseApplication的一些屬性

one all ron 名稱 def 運行 第三方庫 yii2 臨時文件 必要屬性 yii\base\Application::id 區分其他應用的唯一標識ID yii\base\Application::basePath 該應用的根目錄 其他屬性 yii\ba

yii2.0中添加新的模塊

復制 添加 ima 技術 ews end ots yii http 比如現在需要添加一個新的hnews模塊:復制frontend改名hnews 1、在common文件下的config下的 bootstrap.php 2、修改命名空間 在具體實例的main.config

安裝yii2時,composer安裝遇到的一些問題

composer yii2 phar 安裝YII2時運行:php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"報錯could not open input file:composer.phar重新安裝composer

Yii2.0 的分頁顯示設置

顯示 -1 log ges 分頁 什麽 image 設置 blog 這是框架自帶的分頁顯示的樣式,雖然不知道為什麽這樣顯示,不過先記錄下來吧 Yii2.0 的分頁顯示設置

Yii2.0 常用的變量、方法、函數

class query host name base done 拋出異常 ren languages mode <?php defined(‘YII_DEBUG‘) or define(‘YII_DEBUG‘, true); //當在調試模式下,應用會保留更

Windows下用cmd命令實例講解yii2.0在php命令行中運行的步驟

ring and 兩個 刪掉 yii 服務器 .bat ima com Yii中的資源是和Web頁面相關的文件,可為CSS文件,JavaScript文件,圖片或視頻等,資源放在Web可訪問的目錄下,直接被Web服務器調用。 有時候有些功能需要做到計劃任務中去,因此就需要yi

yii2.0郵件發送問題解決

blog password char ams boot sub .com config 本地 用yii2.0郵件類做一個定時發送郵件的功能,在本地測試沒問題,放到線上就說連接163服務器超時各種問題,最後查查改改,已經解決了,現在就把遇到的問題記錄下。 <php

Yii2.0 TimestampBehavior的使用

數據 del 創建 修改時間 插入 yii2 nbsp 時間 自動 應用場景: 在我們的Model開發中, 當你添加或者修改一條數據時, 你會發現很多都會涉及到創建時間和修改時間. 例如: 我們插入數據要添加"創建時間, 修改時間", 更新數據時要更新"修改時間". 那