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项目准备的软件管家。)

官网网址:https://getcomposer.org/

中文网址:http://www.phpcomposer.com/

composer资源仓库或应用市场

网址:https://packagist.org/

02-开始安装composer

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文件

php手记之01-tp5框架安装

 

     

设置完成后,一定要重启一下apache服务,让配置生效

效果:通过浏览器看到如下图所示效果,表示,thinkphp5.1运行已经配置完成

     php手记之01-tp5框架安装

 

   方案二:命令行运行

php think run

  php手记之01-tp5框架安装

 

看到下面浏览器的界面就是tp5.1,启动成功

   php手记之01-tp5框架安装

 

 

第一次安装,在命令行下面,切换到你的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

 

经过验证不需要重启网络配置后即生效

posted @ 2023-01-06 15:10  全琪俊  阅读(858)  评论(0编辑  收藏  举报