nginx 安装 配置 支持 访问 thinkphp5
server { // 这个在windows 下配置是ok的,linux 下不知道是否可以生效! 待后续验证
listen 8999;
server_name localhost;
location / {
root /gds/zstwTcs/admin/tcs/public; # 这里是tp5 public 入口文件
#root html;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?s=$uri&$args; # 表示 #如果请求不是文件或目录,则将uri交给index.php处理,同时保留参数
if ( !-e $request_filename) {
rewrite ^(.*)$ /index.php/?s=$1 last; #进行URL重写,将默认访问URL中的index.php?s=通过rewrite隐藏
break;
}
}
location ~ \.php(.*)$ {
root /gds/zstwTcs/admin/tcs/public; #tp5 入口文件
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
报错信息给了两种解决方案:
1.在php.ini里将always_populate_raw_post_data=-1来隐藏warning;
2.将$HTTP_RAW_POST_DATA更换为php://input
不过好多人并不是因为用了$HTTP_RAW_POST_DATA这个函数才报错的。而是根本就没有用到这个函数,甚至不知道这个函数,php还是会给waring。
那么问题究竟出在哪呢?
问题在于当你把always_populate_raw_post_data=0时,并没有真正意思的disable(php设计缺陷)。这个时候,还会自动加载到这个函数,所以会报错。
而且always_populate_raw_post_data=-1时,不仅仅时隐藏warning,而是真正意义上的disable always_populate_raw_post_data
修改完php.ini后,需要重启php服务,修改方可生效。
重启方法:命令行输入 /etc/init.d/php-fpm restart
CentOS 8 安装 oniguruma 和 oniguruma-devel
# 下载
wget https://github.com/kkos/oniguruma/archive/v6.9.8.tar.gz -O oniguruma-6.9.8.tar.gz
# 解压缩
tar -xvf oniguruma-6.9.8.tar.gz
mkdir /usr/local/php_extension
# 移动
cp -R oniguruma-6.9.8 /usr/local/php_extension/oniguruma
# 进入
cd /usr/local/php_extension/oniguruma
# 编译
./autogen.sh
# 配置
./configure --prefix=/usr --libdir=/lib64
# 安装
make && make install
五,安装过程中遇到报错的处理
报错:
[root@yjweb oniguruma-6.9.4]# ./autogen.sh && ./configure --prefix=/usr Generating autotools files. ./autogen.sh: line 6: autoreconf: command not found
解决:
[root@yjweb oniguruma-6.9.4]# yum install autoconf automake libtool
六,查看本地centos的版本
[webop@yjweb ~]$ cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core)
Linux 安装 Composer
1. 下载 Composer.phar 文件
curl -sS https://getcomposer.org/install | php
执行了这个语句后检查一下是否已经下载,如果出现以下情况则是安装失败了
那只能换一种方式下载,用php去下载
php -r "readfile('https://getcomposer.org/installer');" | php
以上这样就安装好了
mv composer.phar /usr/local/bin/composer
获取
01-理解并使用composer (是PHP一个包管工具 解决源码包 依赖问题,一句话,composer是一个工具,是为php项目准备的软件管家。)
中文网址:http://www.phpcomposer.com/
composer资源仓库或应用市场
02-开始安装composer
-
下载composer.phar:https://getcomposer.org/download/,
把下载好的composer.phar文件复制到
mv composer.phar /usr/local/bin/composer
2. 全局安装
将下载好的 Cooposer.phar 移动至 /usr/local/bin改名为 Composer , 这样就实现了全局调用
mv composer.phar /usr/local/bin/composer
3. 切换镜像
国内镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
阿里云镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
切换成原来的镜像
composer config -g repo.packagist composer https://repo.packagist.org
4. 基本命令
查看版本号
composer -v
新增
composer install
更新
composer update
设置忽略版本匹配
composer install --ignore-platform-reqs
composer update --ignore-platform-reqs
卸载依赖包
composer remove "厂商/类库"
升级命令
composer self-update
升级到某个版本
composer self-update --版本
5. 注意
在新安装的 PHP 环境下 putenv() 和 proc_open() 函数默认处于禁用状态,那么在composer安装后需要把 putenv() 和 proc_open() 禁用函数去掉或注释掉,否则在查看 Composer 或在使用 Composer 时会有警告提示及报错信息。
安装tp5
composer create-project topthink/think=5.1.* tp5
后面的tp5表示你安装的目录可以自行修改,默认安装的是tp5.1的最稳定版本
2.1安装指定版本的tp
composer create-project topthink/think=5.1.x-dev tp5
3.安装完毕后即可自行开发
注:如果安装失败,打开安装的路径,如果没有application目录删除后再安装,可能由于网络原因
详情请见tp5.1官方文档进行
thinkphp5.1之前可以在thinkphp官方网站进行下载源码包,但是thinkphp5.1版本开始,官网不再提供下载版本,请使用Composer或者git方式安装和更新。
composer create-project [--prefer-dist] topthink/think=[版本号] tp5
如果不写版本号,则下载 php版本所支持的最高的稳定版本
例:
composer create-project --prefer-dist topthink/think=5.0.* tp5
注:
composer 表示执行composer程序
create-project 通过composer去创建项目
topthink/think 框架的名称
--prefer-dist 优先下载压缩包方式,而不是直接从github上下载源码
最终方案
composer create-project topthink/think=5.1.* tp5 --prefer-dist
1.4.3、两种方式启动thinkphp5.1
方案一:虚拟主机
配置apache2.4
# 设置虚拟主机 <VirtualHost *:80> # 设置网站目录 DocumentRoot "F:/www/class/web69/tp5.1/public" # 设置网站域名 ServerName www.tp.com # 错误日志 ErrorLog "F:/www/class/web69/tp5.1/logs/error.log" # 成功日志 CustomLog "F:/www/class/web69/tp5.1/logs/access.log" combined # 设置目录访问权限 <Directory "F:/www/class/web69/tp5.1/public"> # 指定目录启用特怀 Options Indexes FollowSymLinks # 是否允许使用.htaccess文件 AllowOverride All # 访问目录权限 Require all granted </Directory> </VirtualHost>
设置hosts文件
设置完成后,一定要重启一下apache服务,让配置生效
效果:通过浏览器看到如下图所示效果,表示,thinkphp5.1运行已经配置完成
方案二:命令行运行
php think run
看到下面浏览器的界面就是tp5.1,启动成功
第一次安装,在命令行下面,切换到你的WEB根目录下面并执行下面的命令:
composer create-project topthink/think tp5
现在只需要做最后一步来验证是否正常运行。
在浏地址:
http://localhost/tp5/public/
其中composer create-project topthink/think tp5这句来自于TP5.1官方文档
剩下的就是将东西移动到根目录mv tp5/ .
然后将权限-所有者,改为wwwchown www.www -R
然后删掉临时目录rm runtime -fr
这样apache指定的www会自动创建,就不会有权限问题了
问题
报错Could not resolve host: mirrors.aliyun.com; Unknown error
当前无法解析域名,需要配置域名解析服务器
2 解决办法
1)打开/etc/resolv.conf文件
2) 写入如下内容
nameserver 8.8.8.8
nameserver 114.114.114.114
经过验证不需要重启网络配置后即生效