##安装
编译php
之前的php不满足要求 下载5.6的源码重新编译
./configure --prefix=/home/techdoc/soft/make-installed/ -enable-fpm --enable-pdo --enable-inline-optimization --with-zlib --enable-sockets --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mbstring --enable-mbregex --with-openssl --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd
make -j16
make install
以上编译过程中出错缺少db2相关文件
- configure 出错:configure: error: jpeglib.h not found 通过
yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y
解决 - make 编译出错:/usr/include/ft2build.h:56:38: error: freetype/config/ftheader.h: No such file or directory 通过
ln -s /usr/include/freetype2/freetype/ /usr/include/freetype
解决,不知道这里是不是freetype2的坑. - php编译相关依赖库报错汇总:http://www.cnblogs.com/z-ping/archive/2012/06/18/2553929.html
####安装composer
cd ~/bin
curl -sS https://getcomposer.org/installer | php
chmod +x composer.phar
mv composer.phar composer
执行composer 提示相关命令行即安装成功
安装laravel
执行 composer global require "laravel/installer=~1.1"
会在本地目录生成一个 ~/.composer/vendor/bin 这样的目录,laravel命令就是放在了这个目录里面,为了方便我们使用laravel命令,所以我们需要将他放到系统的
P
A
T
H
里
面
‘
e
c
h
o
′
e
x
p
o
r
t
P
A
T
H
=
PATH里面`echo 'export PATH=
PATH里面‘echo′exportPATH=PATH:~/.composer/vendor/bin/’ >> ~/.bashrc`
##使用lavarel生存项目app
执行laravel new blog
在当前目录创建一个app,app其实就是一个网站应用的目录,其目录结构如下:
blog/
├── app
├── bootstrap # 需要有apache的写入权限
├── config
├── database
├── public #apache的document目录需要指向它
├── resources
├── storage # 需要有apache的写入权限
├── tests
└── vendor
- app : 包含的几个文件用于启动框架和配置自动加载功能,还有一个 cache 目录,用于存放框架自动生成的文件,能够加速框架启动。
- config:包含所有应用程序的配置文件。
- database:包含了数据库迁移与数据填充文件。也可以将 SQLite 数据库文件存放在这个目录中。
- public:包含前面的控制器和你的资源文件 (图片、JavaScript、CSS,等等)
- resources:包含你的视图、原始的资源文件 (LESS、SASS、CoffeeScript) 和本地化语言文件
- storage:包含编译后的 Blade 模板、基于文件的 session、文件缓存和其他由框架生成的文件。此目录下面包含三个子目录:app、framework 和 logs。app 目录用户存放应用程序所用到的任何任何文件;framework 目录用于存放由框架生成的文件和缓存文件;最后,logs 目录用于存放应用程序的日志文件。
- tests: 目录用于存放你的自动化测试文件。Laravel 默认自带了一个 PHPUnit 的实例。
- vendor 存放 Composer 的依赖包。
配置nginx
server {
listen 8081;
server_name xxx.baidu.com;
more_set_headers 'Server: Apache';
set $php_upstream 'unix:/home/techdoc/soft/make-installed/var/run/php5-fpm.sock';
set $root_path '/home/techdoc/odp8000/webroot/blog/public/';
location ~* /((.*)\.(.*)\/(.*)\.php){
deny all;
}
location ~* /\.(sql|bak|inc|old)$ {
deny all;
}
index index.php index.html index.htm;
try_files $uri $uri/ @rewrite;
location @rewrite {
rewrite ^/(.*)$ /index.php?_url=/$1;
}
location ~ \.php$ {
root $root_path;
fastcgi_pass $php_upstream;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
}
location ~ ^/(favicon.ico|static|techdoc) {
root $root_path;
}
}
访问相应的ip:port,即可成功访问