lnmp相關(guān)問(wèn)題

安裝

 #ubuntu18.04下先安這個(gè)curl擴(kuò)展,不然php 中curl 請(qǐng)求https會(huì)報(bào)502
sudo apt-get install libcurl4-gnutls-dev

# https://lnmp.org/auto.html 這里可以生成無(wú)人值守安裝命令
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 問(wèn)題


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

這個(gè)問(wèn)題是由于引入路徑非法導(dǎo)致的,原因有兩個(gè)

1.lnmp 包默認(rèn)為網(wǎng)站入口路徑添加了.user.ini文件,但我使用的laravel 框架,其真實(shí)的項(xiàng)目路徑為/home/wwwroot/ddup,而不是/home/wwwroot/ddup/public,所以我們要修改.user.ini 文件

#.user.ini文件是加鎖文件不能直接進(jìn)行修改,我們先將其解鎖
sudo chattr -i .user.ini
sudo vim .user.ini
#原內(nèi)容:/home/wwwroot/ddup/public/:/tmp/:/proc/
#修改后:/home/wwwroot/ddup/:/tmp/:/proc/

#重啟
sudo lnmp restart

2.這時(shí)候我們?cè)L問(wèn)網(wǎng)站依舊報(bào)同樣的錯(cuò)誤,原因是在/usr/local/nginx/conf/fastcgi.conf 中有這么一行

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
#這句話意味者會(huì)將運(yùn)行時(shí)的入口路徑賦值給open_basedir ,這里還是相當(dāng)于open_basedir=/home/wwwroot/ddup/public/:/tmp/:/proc/
#所以我們需要注釋掉這句

#重啟
sudo lnmp restart

問(wèn)題解決

laravel項(xiàng)目fileinfo擴(kuò)展問(wèn)題

默認(rèn)安裝下,fileinfo擴(kuò)展沒(méi)有被安裝,有兩種安裝方式

1.還沒(méi)有安裝lnmp

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

2.已經(jīng)安裝好了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
#安裝成功后添加擴(kuò)展 extension=fileinfo.so
vim /usr/local/php/etc/php.ini 

disable_functions 問(wèn)題

lnmp 為安全考慮替我們禁用了很多函數(shù)

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 這兩個(gè)得刪除,否則laravel項(xiàng)目無(wú)法運(yùn)行
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容