解决thinkphp配置环境No input file specified.问题
2017-09-23| 程成| 4681| 6| ThinkPHP

原来用的环境是php5.5-ts,今天给工作环境配置个本地blog环境,用的php7.0-nts环境,发现页面始终报No input file specified.问题。


image.png


php中ts和nts区别:


ts(Thread-Safety)即线程安全,多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染php以ISAPI方式加载的时候选择这个版本。php以ISAPI方式加载的时候选择这个版本。

nts(None-Thread Safe)即非线程安全,就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的是脏数据php以fast cgi方式运行的时候选择这个版本,具有更好的性能。



解决方法:


一、修改php.ini配置文件


找到

; cgi.force_redirect = 1

去掉前面分号,把后面的1改为0

cgi.force_redirect = 0




二、修改.htaccess文件


原因在于使用的PHP是fast_cgi模式,而在某些情况下,不能正确识别path_info所造成的错误。

打开.htaccess 在RewriteRule 后面的index.php教程后面添加一个“?”


如下:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>


以上配置能够解决thinkphp配置环境No input file specified.问题。



image.png




×
作者:程成
QQ:492245711