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