PHP基礎理解+laravel虛擬主機部署 deploy

公司的前輩說的很對,基礎不牢……光用框架並無掌握基礎。不過checking項目說要用框架纔去用的,哎php

http://phpbestpractices.justjavac.com/ html

  • 應該使用 PDO 的預處理語句函數來幫助防範 SQL 注入攻擊。 使用函數 bindValue 來確保你的 SQL 免於一級 SQL 注入攻擊。 java

<?php
/* 經過綁定的 PHP 變量執行一條預處理語句 */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindValue(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>
  • 命名空間英語Namespace,做用域的一種特殊的抽象,它包含了處於該做用域內的標識符linux

  • 使用 === 操做符來檢測 null 和布爾 false 。非寬鬆類型檢測。laravel

  • MVC:文件加載,這個文章講的很是詳細,稍微有點了解了分model、controller、view的的實現:http://www.cnblogs.com/lazycat-cz/p/4279927.htmlgit

  • .htaccess(hypertext access)directory-level configuration file supported by several web servers分佈式配置文件( .htaccess文件應該被用在內容提供者須要針對特定目錄改變服務器的配置而又沒有root權限的狀況下。)github

        僞靜態設計有關:http://www.douban.com/note/98028752/ web

    忽然以爲我部署laravel重定向有疑問就是跟這個有關,應該是Apache重寫模塊的關係,可是虛擬主機很麻煩……上哪兒改去。
shell

  •     ASCII、ANSI、Unicode、UTF-8 的差別:link


安全方面:PHP常規安全總結:http://www.phpthinking.com/archives/575數據庫

可怕的代碼注入方式: http://www.phpthinking.com/archives/299

  • shell注入 SQL注入

  • XSS(Cross-site scripting): htmlspecialchars()   跨站腳本攻擊

  •  CSRF(Cross-site request forgery, also known as one-click attack or session riding。

        跨站請求僞造:防範,<input type=」hidden」 name=」hash」 value=」<?=$hash;?>」>而後服務端驗證


laravel 建立本身的類庫:

http://yansu.org/2014/12/06/ioc-and-facade-in-laravel.html

總結
因此有了控制反轉(Inversion of Control)和門面模式(Facade),實際還有 服務提供器(Service Providers)和別名(Alias),咱們建立本身的類庫和擴展 Laravel 都會方便不少。
這裏總結一下建立本身類庫的方法:
在 app/library/MyFoo 下建立類 MyFoo.php
在 app/library/MyFoo/providers 下建立 MyFooServiceProvider.php
在 app/library/MyFoo/facades 下建立 MyFooFacade.php
在 app/config/app.php 中添加 providers 和 aliases

laravel每次都須要本身啓動服務器:php artisan serve,沒有用Apache,聽說是php內部自帶的。

PHP 5.4 內置web服務器:link

多環境下Apache服務器沒法啓動: link 使用命令netstat -ano 來查看端口的佔用狀況。


部署第第一步,change your php version!

cpanel老是顯示User not in cagefs

這裏我聯繫了主機商設置了。

一直不明白不用php artisan serve要怎麼啓動laravel,一天下來,各類搜,各類修改hosts,httpd.conf和.htaccess,而後最後又弄到去修改vhosts虛擬主機,連locahost都弄到訪問不了還一片糾結。

一路下來:

服務器報錯:Forbidden You don't have permission to access / on this server」

                    404not found

laravel報錯:Sorry, the page you are looking for could not be found.

彷佛還有 Internal Server Error相似的


修改的httpd.conf:

1.配置網站根目錄

DocumentRoot "c:/wamp/www/laravel/snsTest/public"

2.啓動Rewrite模塊

LoadModule rewrite_module modules/mod_rewrite.so

3.directory

 AllowOverride All

這樣直接訪問localhost就是網站了,跟個人初衷有點……可是至少能用了。

忽然也想到每次啓動php內置的服務器都是須要cd到項目的文件夾的,不過也並無到public中,只是到了項目的根目錄下。

寫着寫着就又發現一個能夠不要public的方法!:link

在根目錄下新建.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^public
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

而後bingo!

虛擬主機部署成功!在cpanel下新建.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^public
    RewriteRule ^(.*)$ snstest/public/$1 [L]
</IfModule>

而後直接域名可訪問public_html/snstest,好感動……我去,趕忙導入數據庫,登陸成功!

可是進入用戶主頁又出錯了……不得已開了APP_DEBUG=true,對了這裏APP_ENV是production,一直在思考和local對應是什麼,幸虧搜到了否則確定想不出來……

(話說彷佛不少程序猿blog都是用的github,風格好像,好比:http://huifeng.me/,第一次看到時以爲好好看,可是連續看到幾個就orz)

發現了漫迷程序猿blog,mark先:https://www.yvanhom.com/author/yvanhom/

話說本身也想另外弄個blog了,oschina雖然挺喜歡可是敏感字真的煩人,感受設置過頭了,逼的我各類中英混雜才能說完一句話……


reffer: putty使用教程    實現putty基於密鑰的安全登陸

想要用SSH遠程登陸虛擬服務器,老是失敗。顯示connection time out,由於擅自把端口改爲了3306……傻

用cpanel的SSH訪問功能,原來自帶有id_dsa的一對祕鑰,而後刪掉,新生成了一對並設置了passphrase,進入private key而後輸入passphrase獲得ppk文件,打開putty設置好ssh/auth,然而……connection refused!

想起public key尚未authorize,去cpanel設置了依然refused……

相關文章
相關標籤/搜索