因为最近在学习linux,学习linux同时安装LNMP的环境搭配。在这里记录下我的centos7.4下安装laravel的安装过程。
一、下载composer并安装
root@VM_0_16_centos ~]# php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
[root@VM_0_16_centos ~]# php composer-setup.php
All settings correct for using Composer
Downloading...
Composer (version 1.6.5) successfully installed to: /root/composer.phar
Use it: php composer.phar
[root@VM_0_16_centos ~]# php -r "unlink('composer-setup.php');"
以上命令依次是下载,安装,卸载安装包。
接下来重新命名一下composer.phar并配置到全局的环境变量,键入以下命令
mv composer.phar /usr/local/bin/composer
进入到/data/wwwroot下开始安装项目名称为blog的laravel项目
cd /data/wwwroot
执行如下命令,将composer的改为国内镜像库
composer config -g repo.packagist composer https://packagist.phpcomposer.com
如果国内镜像库无法正常下载,composer install需要输入密码,执行以下命令
composer config -g repo.packagist composer https://packagist.phpcomposer.com
创建名为blog的laravel项目
composer create-project --prefer-dist laravel/laravel blog
如果出现以下问题,
php.ini的disable_functions里面去proc_open,proc_get_status这两个函数就可以了
执行以下命令
vi /usr/local/php/etc/php.ini
找到其中的proc_open,proc_get_status 然后删掉保存php.ini 重启php-fpm (service php-fpm restart)
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen
查看cd/home/wwwroot 发现下面已经有一个blog的目录可以rm -rf blog 删掉了
rm -rf blog
再次键入命令
composer create-project --prefer-dist laravel/laravel blog
安装结束,出现如下信息,就表示laravel项目安装完成了
Writing lock file
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader
The compiled services file has been removed.
> php artisan key:generate
Application key [base64:UHWv0Y54sOk2Z9Py6HI871+jlzZLFhHQw4FDGAUyTQg=] set successfully.
修改laravel权限
cd /home/wwwroot/xiaopei
sudo chmod -R 777 storage
sudo chmod -R 777 vendor
//检查安装依赖程序
yum install gcc-c++
yum install -y tcl
在浏览器blog.com ,哇塞,终于看到了我们久违的laravel欢迎界面
如果不能出现laravel欢迎界面,请按照以下步骤解决问题(已亲测)
1.权限问题
装完成后的权限设置,要给storage,bootstrap/cache目录可写权限,chmod +x storage
---不出意外还是不能访问---
2.php.ini文件
php.ini中的错误提示:display_error=on;(坑啊,这个环境中默认是off)
3.由于laravel框架的入口文件不在项目根目录,而在public目录下,当我在lnmp中用lnmp vhost add命令添加虚拟主机并将域名制定到public目录下时,会在public目录下生成.user.ini文件 (也需要改动laravel下的public跨目录访问问题)——>解决方法
4.nginx文件
nginx的配置文件中/usr/local/nginx/conf/fastcgi.conf的最后有类似的配置:fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";,这里我直接对这句进行了注释(如#open_basedir=$document_root/:/tmp/:/proc/)。
5.chown -R www:www /home/wwwroot/blog (就是把wwwroot下的blog下的所有文件的属组都改成www和www)
接下来,快去看看自己漂亮的的laravel欢迎界面吧!再见