美文网首页
lnmp相关问题

lnmp相关问题

作者: phpdi | 来源:发表于2019-02-12 20:38 被阅读0次

安装

 #ubuntu18.04下先安这个curl扩展,不然php 中curl 请求https会报502
sudo apt-get install libcurl4-gnutls-dev

# https://lnmp.org/auto.html 这里可以生成无人值守安装命令
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && LNMP_Auto="y" DBSelect="4" DB_Root_Password="root" InstallInnodb="y" PHPSelect="8" SelectMalloc="1" ./install.sh lnmp

.user.ini 问题


Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/ddup/vendor/autoload.php) is not within the allowed path(s): (/home/wwwroot/ddup/public/:/tmp/:/proc/) in /home/wwwroot/ddup/public/index.php on line 24

Warning: require(/home/wwwroot/ddup/vendor/autoload.php): failed to open stream: Operation not permitted in /home/wwwroot/ddup/public/index.php on line 24

Fatal error: require(): Failed opening required '/home/wwwroot/ddup/public/../vendor/autoload.php' (include_path='.:/usr/local/php/lib/php') in /home/wwwroot/ddup/public/index.php on line 24

这个问题是由于引入路径非法导致的,原因有两个

1.lnmp 包默认为网站入口路径添加了.user.ini文件,但我使用的laravel 框架,其真实的项目路径为/home/wwwroot/ddup,而不是/home/wwwroot/ddup/public,所以我们要修改.user.ini 文件

#.user.ini文件是加锁文件不能直接进行修改,我们先将其解锁
sudo chattr -i .user.ini
sudo vim .user.ini
#原内容:/home/wwwroot/ddup/public/:/tmp/:/proc/
#修改后:/home/wwwroot/ddup/:/tmp/:/proc/

#重启
sudo lnmp restart

2.这时候我们访问网站依旧报同样的错误,原因是在/usr/local/nginx/conf/fastcgi.conf 中有这么一行

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
#这句话意味者会将运行时的入口路径赋值给open_basedir ,这里还是相当于open_basedir=/home/wwwroot/ddup/public/:/tmp/:/proc/
#所以我们需要注释掉这句

#重启
sudo lnmp restart

问题解决

laravel项目fileinfo扩展问题

默认安装下,fileinfo扩展没有被安装,有两种安装方式

1.还没有安装lnmp

vim /usr/local/lnmp1.5-full/lnmp.conf
# 修改 Enable_PHP_Fileinfo='n' 为y
Enable_PHP_Fileinfo='y'

2.已经安装好了lnmp

cd /usr/local/lnmp1.5-full/src
tar xvf  php-7.2.6.tar.bz2 
cd php-7.2.6/ext/fileinfo
phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
#安装成功后添加扩展 extension=fileinfo.so
vim /usr/local/php/etc/php.ini 

disable_functions 问题

lnmp 为安全考虑替我们禁用了很多函数

disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

#proc_open,proc_get_status 这两个得删除,否则laravel项目无法运行

相关文章

  • lnmp相关问题

    安装 .user.ini 问题 这个问题是由于引入路径非法导致的,原因有两个 1.lnmp 包默认为网站入口路径添...

  • lnmp相关操作

    添加网站 lnmp vhost add 列出网站 lnmp vhost list 删除网站 lnmp vhost ...

  • lnmp集成环境相关

    添加、删除虚拟主机及伪静态管理 新增虚拟主机: lnmp vhost add 列出网站(虚拟主机): lnmp v...

  • LNMP 1.2/1.3升级Nginx、MySQL/MariaD

    一般情况下不建议对生产环境进行升级,升级开始后会停止LNMP相关服务。本文仅适用于LNMP1.2、1.3及1.4等...

  • 部署LNMP

    一.LNMP简介 1.LNMP的组成 LNMP分别代表Linux、 Nginx、MySQL和PHP。 2.LNMP...

  • LNMP安装了哪些软件?安装目录在哪?

    引用https://lnmp.org/faq/lnmp-software-list.html#lnmp.conf ...

  • LNMP状态管理命令

    LNMP状态管理命令: LNMP 1.2状态管理: lnmp {start|stop|reload|restart...

  • lnmp、lamp一键安装

    wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1....

  • linux lnmp 一键安装

    wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1....

  • 编译安装多版本PHP

    现在大多数部署项目都已经在用一键lnmp安装包,相关文档也比较多,今天遇到了一个问题公司以前的服务器PHP5.4版...

网友评论

      本文标题:lnmp相关问题

      本文链接:https://www.haomeiwen.com/subject/pgfleqtx.html