thinkphp5.0一点环境配置记录

26 篇文章 0 订阅

ThinkPHP5的环境要求如下:

  • PHP >= 5.4.0
  • PDO PHP Extension
  • MBstring PHP Extension
  • CURL PHP Extension
查看已部署tp的版本号
echo THINK_VERSION;
在模板,用 {$Think.THINK_VERSION} 或 {$Think.VERSION} 即可显示当前ThinkPHP版本号

伪静态规则

Apache下规则:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
</IfModule>

nignx下规则:

location / {
  if ( !-e $request_filename) {
    rewrite ^(.*)$ /index.php?s=/$1 last;
    break;
  }
}

 

 

常见安装问题:

1. No input file specified

.htaccess 文件 RewriteRule 参考配置

^(.*)$ index.php [L,E=PATH_INFO:$1]

^(.*)$ index.php?/$1 [QSA,PT,L]

2. phpStudy环境 PHP5.6.27-nts+Apache:session_start(): Cannot send session cache limiter - headers already sent

php.ini文件中把always_populate_raw_post_data = -1前面的注释去掉就可以了

3. LNMP下500错误参考

fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/";

根据实际情况修改或注释掉上面这句

4. phpstudy环境下若出现提交数据500错误

将public 目录下 .htaccess 文件中 RewriteRule 部分换为 ^(.*)$ index.php [L,E=PATH_INFO:$1] 即可解决。

5. 某些Nginx版本下出现,控制器不存在问题,参考以下配置

server {
	listen 80;

	root /Users/song/wwwroot/onebase/public/;

	index index.php index.html index.htm;

	server_name www.ob.com  ob.com;

	location / {
                # try_files $uri $uri/ =404;
                index index.php admin admin.php
                add_header Access-Control-Allow-Origin *;
                add_header Access-Control-Allow-Method GET,POST,PUT,DELETE,OPTIONS;
               try_files $uri  @rewrite;
        }

   
      #重写规则
    location @rewrite {
      #如果有admin.php 文件,重写
      rewrite ^/admin.php(.*)$ /admin.php?s=$1 last;
     #如果有 index.php 文件 ,重写
      rewrite ^/index.php(.*)$ /index.php?s=$1 last; 
     #重写到 index.php 
      rewrite . /index.php?s=$uri last;
     }


}

Centos7 + LNMP 配置文件参考

nginx.conf文件

user  www www;

worker_processes auto;

error_log  /home/wwwlogs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
        default_type  application/octet-stream;

        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        #limit_conn_zone $binary_remote_addr zone=perip:10m;
        ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.

        server_tokens off;
        access_log off;



  	add_header Access-Control-Allow-Origin *;




server
    {
        listen 80 default_server;
	listen 443 ssl;

        #listen [::]:80 default_server ipv6only=on;
        server_name www.onebase.org;

        index index.html index.htm index.php;


   	ssl_certificate   /usr/local/nginx/conf/cert/214303441400802.pem;
   	ssl_certificate_key  /usr/local/nginx/conf/cert/214303441400802.key;
    	ssl_session_timeout 5m;
    	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    	ssl_prefer_server_ciphers on;


        set $root  /home/wwwroot/OneBase/public;
	#set $root /home/wwwroot/default;

	root $root;
		
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        #include enable-php.conf;

	location / {
           try_files $uri $uri/ /index.php?s=$uri&$args;
        }

        include enable-php-pathinfo.conf;

        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/access.log;
    }

    	include vhost/*.conf;
}


fastcgi.conf文件


fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REQUEST_SCHEME     $scheme;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/";

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值