[TOC=2] ## 环境最低要求 > PHP >= 5.4.0(注意:PHP5.4dev版本和PHP6均不支持) PDO PHP Extension MBstring PHP Extension CURL PHP Extension 开启URL重写 支持pathinfo 若使用微信模块,则要求PHP版本 >=5.5.9 ## Linux + Apache平台相关环境配置 我这里使用的是[LNMP](https://lnmp.org)集成环境(不过安装时使用的是Apache而不是Nginx),这个集成环境的[安装方法看这里](https://lnmp.org/install.html) ### 添加一个虚拟主机 按照[此贴](https://lnmp.org/faq/lnmp-vhost-add-howto.html)添加一个虚拟主机,设置的访问域名用 `www.yfcmf.com`,本手册以后的演示都使用这个测试地址。 然后修改`hosts`,在里面添加一条记录(其中`IP`地址改成自己`yfcmf`系统所运行的服务器地址) `127.0.0.1 www.yfcmf.com` ### 开启伪静态 打开Apache配置文件`>vi /usr/local/apache/conf/httpd.conf` 找到`#LoadModule rewrite_module modules/mod_rewrite.so`这一行,去掉前面的`#`井号并保存,然后重启Apache。 ![](https://box.kancloud.cn/67b6d6db05d5464b423c4473ff23a0da_465x243.png) 查看网站根目录下是否有一个`.htaccess`的文件(windows和linux系统一般都有,但`macOS`系统上有可能会弄丢),如果没有,就自己建一个,内容为: ~~~ <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] </IfModule> ~~~ ### pathinfo `yfcmf`系统还需要`pathinfo`支持,但`Apache`好像默认就支持的,那咱们就不管了,直接用。 ## Linux + Nginx平台相关环境配置 我这里使用的是[LNMP](https://lnmp.org)集成环境,这个集成环境的[安装方法看这里](https://lnmp.org/install.html) ### 添加一个虚拟主机 按照[此贴](https://lnmp.org/faq/lnmp-vhost-add-howto.html)添加一个虚拟主机,设置的访问域名用 `www.yfcmf.com`,本手册以后的演示都使用这个测试地址。 然后修改`hosts`,在里面添加一条记录(其中`IP`地址改成自己`yfcmf`系统所运行的服务器地址) `127.0.0.1 www.yfcmf.com` ### 开启伪静态 也许你在上面添加虚拟机时已经添加了伪静态规则,但`LNMP`集成环境自带的一些伪静态规则都不适合我们,我们得自己改一下配置文件,输入命令 `>vi /usr/local/nginx/conf/vhost/www.yfcmf.com.conf` 编辑配置,在里面找到`include other.conf;`这句话(如果有的话,没有就算了),把它替换成下面这段配置: ~~~ location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } ~~~ ### pathinfo `yfcmf`系统还需要`pathinfo`支持,同样是修改上面那个配置文件,找到`include enable-php.conf;`这句话,把它改成`include enable-php-pathinfo.conf;`,最终两个主要的地方修改如下图: ![](https://box.kancloud.cn/98484e8dba8989f62c5c48f624dd7426_675x424.png) ### 重启Nginx `>/etc/init.d/nginx restart` ## YFCMF系统安装 从 osc@git 上下载源码到刚才创建的虚拟主机里:[http://git.oschina.net/rainfer/YFCMF](http://git.oschina.net/rainfer/YFCMF) ![](https://box.kancloud.cn/0b9bfe65062c90da14242e57142a3125_503x343.png) 1. 访问`www.yfcmf.com`即可看到一个安装引导界面,点`接受` ![](https://box.kancloud.cn/efd98112db52c6fa3911fcbf145ee523_860x655.png) 2. 下面是检测环境界面,如果环境都没问题,就点`下一步` ![](https://box.kancloud.cn/c1615234a88d414fdd5e169b48d35c8a_836x698.png) 3. 下面是数据及网站基础配置信息的填写,填写好后点`创建数据` ![](https://box.kancloud.cn/06532c3a9b27dbcd83d906754b049a57_827x984.png) 4. 看到下面界面所说明安装成功了 ![](https://box.kancloud.cn/3e32519f2bfad0994cbe336b9d917788_831x344.png) 5. 点击`进入后台`,输入账号密码验证码开始`yfcmf`之旅。 ## 添加 ThinkPHP5 命令行工具入口文件 由于`yfcmf`作者平时是在win上开发的(猜的),所以他干掉了 ThinkPHP5 的命令行工具入口文件,但这东西有大用处,我们去把它补上。 在网站根目录新建一个名为`think`的文件,不要后缀了,和 ThinkPHP5 原版保持一致的命名,然后内容填入下面代码: ~~~ #!/usr/bin/env php <?php // 定义项目路径 define('APP_PATH', __DIR__ . '/app/'); // 定义运行时目录 define('RUNTIME_PATH', __DIR__ .'/data/runtime/'); // 加载框架引导文件 require './thinkphp/console.php'; ~~~ > 如果你之前从[TP5官方git库](https://github.com/top-think/think)里复制过这个文件到`yfcmf`系统里,一定记得修改定义项目路径的`application`为`app`,并且添加这句代码`define('RUNTIME_PATH', __DIR__ .'/data/runtime/');`,否则很多功能是无法正常使用的。 在网站根目录执行`>php think`命令显示下图所示内容说明成功了 ![](https://box.kancloud.cn/9ed57e7488174bd1993110be774062e5_643x486.png) ## 其他问题 ### PHP exif 模块 `LNMP`集成环境没有默认安装PHP的`exif`模块,如果你的使用了`ThinkPHP5`框架的文件上传功能,请[参照此贴](https://www.vpser.net/manage/lnmp-php-install-ext.html)安装`exif`模块。