学习 Laravel 那些坑 (一)之安装

第一个坑是因为环境的问题。
当然,如果安装好套件或是纯原码编译可能问题会少一些,则这些坑便跳过了。
这里使用的是 vagrant,虽然可能坑多点,但是用起来还是很方便的,轻便,不『污染』主系统,随便折腾,PHP 环境的话,偷下懒,lnmp 一键安装。

第一坑:open_basedir

这个问题已经解决了,方法在这里

第二坑:url 重写

安装完成之后,第一件可能做的事情就是使用一下 N逼闪闪的 artisan
先加个 auth 试试吧。

生成 author 的命令:

php artisan make:auth

生成很容易,一条命令,但问题是访问时却看不到登录验证页面??404?
看了下官方文档,原来是重写的锅,修改一下 nginx的配置文件(官档这里):

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

好,欣赏一下一条命令生成的 auth吧:

这里写图片描述

第三坑:配置信息

在前面的版本中,配置信息是写在 config 里面的,但后续的版本放在了.env 文件中。

如果提示:

No application encryption key has been specified.

这样的信息,那可能是.env 配置信息中 [APP_KEY] 这一项为空。
解决办法是像这样生成 key:

[root@www blog]# php artisan key:generate
Application key [base64:wghjh3rpIfOjQ+5T7+6nXFaJGsuewA0qS0HowkBt6N4=] set successfully.

然后再把[]号中的值复制到.env 环境文件中,如果这个文件不存在,则创建它(比较全的 .env 文件在这里)。

第四坑:laravel 安装完成后页面不显示,无内容,服务器500

这个坑的原因是没有办法写出页面缓存导致的,因为下面第五坑的原因,页面无显示,也找不到原因,只是看服务器报500,页面没有任务内容。

解决办法:

把项目根目录下的storage目录权限修改为可写。

第五坑:开启 debug模式

因为安装时并未设置 .env,所以安装后页面出错也并未显示错误信息,导致找不到错误所在,修改 config 目录下的 app.php 中的

 'debug' => env('APP_DEBUG', false),

 'debug' => env('APP_DEBUG', true),

最好是这样做,添加 .env 文件,在其中添加 app_debug 项:

APP_DEBUG=true

第六坑:php artisan make:auth 执行之后 login404

这个坑真的有点坑,看到有人说Laravel 利用了 PHP5.4 的新特性 trait 内置了非常完善好用的简单用户登录注册功能,只要使用:

php artisan make:auth

激活就可以使用了。

但有可能你在激活后访问 类似:http://www.domain.com/login 这样的域名时,发现其实是404,找遍代码问题也无果,其实真正原因在于 Web 服务器配置,因为 laravel 默认提供隐藏了 index.php 的优雅链接(这是官方说法),所以就需要 web 服务器开启重写模块喽。
apache解决办法,启用 mod_rewrite模块,让服务器能够支持 .htaccess 文件的解析,然后修改 .htaccess 文件:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Nginx服务器则是修改站点配置,加入以下内容,它将会将所有请求都引导到 index.php 前端控制器:

location / {
try_files $uri u r i / / i n d e x . p h p ? uri/ /index.php? uri//index.php?query_string;
}

第七坑:其实与 laravel 无关,此问题只在 windows 环境下出现:

laravel安装时openssl_encrypt() 的问题 :Call to undefined function openssl_decrypt()

  • 方案1:
    打开 php.ini ,把
;php_openssl.dll 

;extension=php_mcrypt.dll 

前面的分号【;】去掉,重启 apache,

  • 方案2:
    如果不能解决,从php安装根目录中拷贝 libeay32.dll 和 ssleay32.dll 覆盖掉apache/bin 下的对应文件(注意需要将httpd关闭)最后重启apache即可;
  • 方案3:如果以上方法还是解决不了,看下apache 2.4的httpd.conf,里面面的
LoadModule php5_module D:/php-5.6.25/php5apache2_4.dll 

PHPIniDir "D:/php-5.6.25”

是不是对应的版本,且都在5.6以上

ps:如果以上步骤还不能解决问题,把 PHP 版本更换一下。

第八坑: laravel 框架安装完成后 除首页外,访问任何页面都是404:

环境:windows apache 原因,是因为无法重写,或者目录权限问题;

  • 解决办法:
    方案1. 在apache conf开启rewrite模块,把下面这句话前面的#去掉。

    LoadModule rewrite_module modules/mod_rewrite.so
    

    方案2. 在conf文件中找到directory,注意这个directory是htdocs这个目录, 把

    AllowOverride None 改成 AllowOverride All
    

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装 Laravel,您需要按照以下步骤进行操作: 1. 确保您的系统满足 Laravel 的要求: - PHP >= 7.3 - BCMath PHP 扩展 - Ctype PHP 扩展 - Fileinfo PHP 扩展 - JSON PHP 扩展 - Mbstring PHP 扩展 - OpenSSL PHP 扩展 - PDO PHP 扩展 - Tokenizer PHP 扩展 - XML PHP 扩展 2. 使用 Composer 在全局范围内安装 Laravel Installer。如果您尚未安装 Composer,请先安装它。 ``` composer global require laravel/installer ``` 3. 添加 Composer 的全局可执行路径到系统的环境变量。这样,您就可以在任何位置使用 `laravel` 命令。 - 对于 macOS / Linux,请将以下行添加到 `~/.bashrc`、`~/.zshrc` 或其他适当的 shell 配置文件中: ``` export PATH="$PATH:$HOME/.composer/vendor/bin" ``` - 对于 Windows,请将 Composer 的全局安装路径(通常为 `%USERPROFILE%\AppData\Roaming\Composer\vendor\bin`)添加到系统的 "Path" 环境变量中。 4. 创建一个新的 Laravel 项目,请在命令行中导航到您希望创建项目的目录,并运行以下命令: ``` laravel new your-project-name ``` (将 "your-project-name" 替换为您想要的项目名称) 5. 等待 Composer 下载并安装 Laravel 及其依赖项。完成后,您就可以开始使用 Laravel 了。 请注意,以上步骤是基于全局安装 Laravel Installer 的方法。您也可以通过在步骤 4 中使用 `composer create-project --prefer-dist laravel/laravel your-project-name` 来创建项目。这将通过 Composer 直接创建 Laravel 项目,而不是使用 Laravel Installer。 希望这些信息对您有所帮助!如有任何疑问,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值