吐槽
工作原因需要学习PHP,但是由于是个完完全全的新手,没有搭建过PHP环境以及apache、nginx等不熟悉,以及还是在ubutun16.01环境下,安装各种软件失败,心里憔悴,差点脱发啊!!一开始是用apache的 但是 访问到的页面一直是 php的源码, libapache2-mod-php5 死活装不上,最后选择来ngxin ,想来其实xampp环境也是可以的,但是apache2的那些配置文件在 哪,根本找不到啊。。。。。。。。。太菜了
安装过程
参考文章:
http://www.cnblogs.com/lianyue/p/3936728.html
http://www.cnblogs.com/piscesLoveCc/p/5794926.html
需要安装的软件列表
mysql-server mysql-client nginx php5-fpm php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-mcrypt php5-memcached git git-core
这些软件就慢慢安装把慢,我主要ngxin安装不上,因为ubuntu依赖的问题,很过库是不能更换的所以nginx安装失败了
源码安装nginx
模块依赖性
①gzip 模块需要 zlib 库
②rewrite 模块需要 pcre 库
③ssl 功能需要 openssl 库
安装gcc/g++的依赖库
apt-get install build-essential
apt-get install libtool
这两个库 ubuntu 自带了所以没什么费事
安装 pcre依赖库(http://www.pcre.org/)
sudo apt-get install libpcre3 libpcre3-dev
由于库依赖的问题,自动安装失败了,所以手动安装。
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.34
./configure
make
make install
安装 zlib依赖库(http://www.zlib.net)
apt-get install zlib1g-dev
同上啊
cd /usr/local/src
wget http://zlib.net/zlib-1.2.11.tar.gz
sudo tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.8
sudo ./configure
sudo make
sudo make install
安装ssl依赖库(ubuntu16.04 LTS 已经安装过了)
apt-get install openssl
安装nginx
cd /usr/local/src
wget http://nginx.org/download/nginx-1.4.2.tar.gz
tar -zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2
./configure --prefix=/usr/local/nginx
make
make install
如果没有什么error 报出的话就是安装成功了
最后nginx会被安装到 /usr/local/nginx文件夹下
接下来就是开始zend framke 的安装
在 /opt 下创建 htdocs 文件夹 名字没什么要求,只要后面把nginx配置好就行
sudo mkdir /opt/htdocs
cd /opt/htdocs
从github上克隆框架
git clone git://github.com/zendframework/ZendSkeletonApplication.git zf2
这时文件夹下多了一个 zf2 代码就在里面
cd zf2
现在需要用 zend framework的composer 生成其余的代码
先下载 composer
curl -sS https://getcomposer.org/installer | sudo php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
如果curl安装不了就去官网下载 install 然后 php install 就能生成 composer
我curl都安装不上去啊!!!!坑跌啊!!
这时可以运行composer了(需要在zf2运行才有用)
php composer.phar self-update
php composer.phar install
如果网络不好这个需要等挺久
安装好以后:
php -S 0.0.0.0:8080 -t public/ public/index.php
然后用浏览器访问
如果看到 Welocome to Zend那就说明框架代码是ok的,剩下就是配置nginx而已了
配置nginx
绑定域名
vi /etc/hosts
127.0.0.1 zf2.local
127.0.0.1 www.zf2.local
编辑ngxin配置文件
在/usr/local/nginx/conf 目录下 nginx.conf
主要修改 在 server{}部分
user root;
#user nobody;
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
#root html;
root /opt/htdocs/zf2;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /opt/htdocs$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name zf2.local www.zf2.local;
location / {
root /opt/htdocs/zf2/public;
index index.php index.html index.htm;
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php last;
}
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /opt/htdocs/zf2/public/$fastcgi_script_name;
}
}
}
修改以后,重启nginx
kill 掉之前 nginx 进程如果有的话
接着 在 /usr/local/nginx/sbin/ 文件下打开 nginx
在浏览器访问 http://zf2.local/
如果配置正确的话就会出现上面的页面
到这里zend framework 配置就算完成了,开始学习之旅!