没事做点事

记录工作或者感觉可以的东西

导航

Centos 7 安装composer和Laravel


composer安装


我安装了lnmp到Centos7里,所以可以直接运行
curl -sS https://getcomposer.org/installer | php
把安装的composer.phar放到目录下
mv composer.phar /usr/local/bin/composer

安装成功看版本
composer -v

如果在国外就不用设置这一项,如果不是就弄(中国镜像)
composer config -g repo.packagist composer https://packagist.phpcomposer.com

Laravel安装

安装这个laravel组件
composer global require "laravel/installer"

//查找在哪里
find / -name 'vendor' -type d
//查找结果
/root/.config/composer/vendor/bin

//修改路径

vi ~/.bash_profile

PATH=$PATH:$HOME/bin:/root/.config/composer/vendor/bin //执行保存命令 :wq

启用新的路径,有时候启用会提示没权限的问题,重启电脑就好了

source ~/.bash_profile


进入代码路径
cd /usr/local/src/test

执行生成laravel文件
laravel new laravel

 

也可以到官网下载源码包

https://github.com/laravel/laravel 

 

 解压后,如果没有vendor文件执行

composer install

 

安装相应的拓展文件,出现Whoops, looks like something went wrong执行

打开config/app.php文件把 'debug' => env('APP_DEBUG', false), 改为 'debug' => env('APP_DEBUG', true),

 

我们就看到了错误信息:’No supported encrypter found. The cipher and / or key length are invalid.‘。

找到laravel目录下的.env.example将其重命名.env即可

 

最后还会报一个错误,没有密匙

php artisan key:generate

 

后面安装了laravel5.8版本, 可以从composer install删除

报错:

以及在lnmp下无法运行,你需要以下几步

1.php.ini文件下寻找cgi.fix_pathinfo,将其值设置为1;

2. /usr/local/nginx/conf/fastcgi.conf 里面的 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在该行行前添加 # 或删除改行,需要重启 nginx。

3. lnmp会生成.user.ini文件防止跨域,这玩意还无法删除,如果需要删除。

chattr -i  /home/wwwroot/laraveltest/public/.user.ini

rm -rf  /home/wwwroot/laraveltest/public/.user.ini

4.nginx.conf 修改成这样

server {
  listen 80; # 监听端口
  server_name www.xxx.com # 指定解析的域名
  root /home/wwwroot/www.xxx.com/public; # 网站的根目录,laravel要指定到网站根目录下面的public文件夹

  location / {
      index index.html index.htm index.php;
      try_files $uri $uri/ /index.php?$query_string; 
      # 这一句是laravel部署必须的,将index.php隐藏掉
  }
  # 这一段是解析php文件的引导,模拟PATH_INFO的模式
  location ~ \.php(.*)$ {
      fastcgi_pass unix:/tmp/php-cgi.sock;
      fastcgi_index index.php;
      fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
      fastcgi_param SCRIPT_FILENAME     $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
    include fastcgi_params;
  }
}

 




 

如果还有错误的话,那我们需要查看 PHP 代码日志来排查问题
我们在 /usr/local/php/etc/php-fpm.conf 加上

php_admin_value[error_log] = /usr/local/php/var/log/php_errors.log
php_admin_flag[log_errors] = on

 如果有虚拟域名还需要在host文件新增

vi /etc/hosts

 

posted on 2019-04-29 19:22  我本飞扬  阅读(226)  评论(0编辑  收藏  举报