laravel框架使用中错误及解决办法总结

来源:互联网 发布:京东销售数据分析 编辑:程序博客网 时间:2024/05/19 13:23

前提:框架解压完毕,composer也已经安装好后


1.使用composer安装项目依赖关系--vendor时的错误


在终端,项目目录中命令:composer install,

出现php版本达不到要求时,可以看一下项目目录中有一个,composer.json的文件,

里面有一些对依赖关系、环境的要求,看看你的环境是否达到了这个的要求,如果达不到,

就只有换一个合适的新环境了。


2.域名配置问题


域名配置的话,路径要写到laravel/public,

里面有一个index.php文件,这是项目入口。


3.You don't have permission to access /index.php on this server.


翻译:您没有权限访问/在此服务器上编辑

解决办法如下:

找到:apache文件,进入conf文件,打开httpd.conf 文件,做如下修改:

<Directory />    Options FollowSymLinks    AllowOverride None    Order deny,allow    Deny from all    Satisfy all</Directory>修改成<Directory />    Options FollowSymLinks    AllowOverride None    Order deny,allow#    Deny from all    Allow from all#允许所有访问    Satisfy all</Directory>第二处:找到:#   onlineoffline tag - don't remove    Order Deny,Allow    Deny from all    Allow from 127.0.0.1</Directory>修改成:#   onlineoffline tag - don't remove    Order Deny,Allow#    Deny from all#  Allow from 127.0.0.1    Allow from all</Directory>

或者将vhosts文件内容删除 从新生成一个网站路径。

如果上述修改都做了,还是没有权限访问,那你可能是这部分需要修改了;

如:

<VirtualHost *:80>    DocumentRoot "E:\poem\public"    ServerName local.poem.com    ServerAlias   <Directory "E:\poem\public">      Options FollowSymLinks ExecCGI #这部分需要修改      AllowOverride All      Order allow,deny      Allow from all      Require all granted  </Directory></VirtualHost>
修改为:

<VirtualHost *:80>    DocumentRoot "E:\poem\public"    ServerName local.poem.com    ServerAlias   <Directory "E:\poem\public">      Options Indexes FollowSymLinks #<span><span>允许指向外部的目录进行访问</span></span>      AllowOverride All      Order allow,deny      Allow from all      Require all granted  </Directory></VirtualHost>

这样可能就解决了你的问题!


4.No input file specified.


(一)IIS Noinput file specified

方法一:改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS
方法二:
请修改php.ini
找到

; cgi.force_redirect = 1

去掉前面分号,把后面的1改为0
cgi.force_redirect = 0 


(二)apacheNo input file specified

apache No input filespecified,今天是我们配置apache RewriteRule时出现这种问题,解决办法很简单如下

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

完整代码如下

.htaccessRewriteEngine onRewriteCond $1 !^(index.php|images|robots.txt)  RewriteRule ^(.*)$ /index.php?/$1 [L]<span style="font-family:宋体;"></span>

如果是apache服务器出问题,看看是不是的Apache 把 .php 后缀的文件解析哪里有问题了。


总结

Apache 将哪些后缀作为 PHP 解析。例如,让 Apache 把 .php 后缀的文件解析为PHP。可以将任何后缀的文件解析为 PHP,只要在以下语句中加入并用空格分开。这里以添加一个 .phtml 来示例。

 AddType application/x-httpd-php .php .phtml
为了将 .phps教程作为 PHP 的源文件进行语法高亮显示,还可以加上:
 AddType application/x-httpd-php-source .phps
用通常的过程启动 Apache(必须完全停止 Apache 再重新启动,而不是用 HUP 或者USR1 信号使 Apache 重新加载)。


(三)nginx配置遭遇No inputfile specified

虚拟机测试nginx 遭遇 Noinput file specified,多方查找终于找到解决办法

1、 php.ini(/etc/php5/cgi/php.ini)的配置中这两项
cgi.fix_pathinfo=1  (这个是自己添加的)
doc_root=

2、nginx配置文件/etc/nginx/sites-available/default中注意以下部分

 

location ~ \.php$ {              fastcgi_pass   127.0.0.1:9000;              fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /var/www/nginx-default$fastcgi_script_name;               include              fastcgi_params;       }

红色部分路径需要根据你主机主目录的实际情况填写

配置完以上部分,重启一下service nginx restart,应该没问题了

注意检查下网站目录是否有相关用户的写入权限


5.You need to specify a file path to store the seed。


此问题是由于你的php没有开启open-ssl模块功能引起的

打开php.ini中将php_openssl前面的注释去掉,重启服务后就好了。


6.在安装好laravel5.1之后:No supported encrypter found. The cipher and / or key length are invalid.


D: 回到D盘 (项目所在盘),cd 到laravel根目录 然后运行 php artisan key:generate;前提是你项目根目录下有个.env文件,如果没有,敲命令 ”echo 内容 >.env“,生成一个.env 文件(不带引号哦),然后把根路径下的.env.example的内容复制进去,再运行 php artisan key:generate

将生成的key复制到config/app.php替换82行的APP_KEY键值 保存



0 0