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……

相关文章
相关标签/搜索