注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

胡益兵的博客

新的岗位,新的方向,新的使命,stem教育进行中。

 
 
 

日志

 
 

moodle2安装错误汇总  

2015-11-05 12:20:36|  分类: 魔灯专栏 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
安装环境:centos6.7+ lnmp1.2(nginx1.8.0   PHP5.6.9    MariaDB10.0.17) +moodle2.9.2
出错提示
moodle安装错误一则 - hyibing - 胡益兵的博客
moodle2安装错误汇总 - hyibing - 胡益兵的博客
 
 Warning: file_exists(): open_basedir restriction in effect. File(/home/wwwroot/moodledata) is not within the allowed path(s): (/home/wwwroot/default:/tmp/:/proc/) in /home/wwwroot/default/moodle/install.php on line 335

Warning: is_writable(): open_basedir restriction in effect. File(/home/wwwroot) is not within the allowed path(s): (/home/wwwroot/default:/tmp/:/proc/) in /home/wwwroot/default/moodle/install.php on line 339
底部显示无法建立文件夹,虽然手工建立了,但是仍然提示无法建立。

11月7日研究思路:
应该是php.ini的open_basedir 问题
网上有相关介绍:
open_basedir 这个是用来限制php的目录访问权限什么的,如果不在允许的范围内,php就不能访问。
这个 open_basedir 在 php.ini 里可以设定,也可以在 apache的httpd.conf 里面设定
例如:
php_admin_value open_basedir "E:/APMServ5.2.6/www/wordpress/;E:/APMServ5.2.6/tmp/uploadtemp/;"
再比如:
php_admin_value open_basedir =/var/web/w0895/:/tmp:/usr/lib/php

按照这个思路编辑 vi /usr/local/php/etc/php.ini
找到;open_basedir =
奇怪没有启用,按说应该没有问题,但死活无法通过,索性让其生效,写如路径
open_basedir =/home/wwwroot/
再次测试通过,但是phpmyadmin无法访问。
学虹的lnmp(git clone https://git.oschina.net/hongm/lnmp.git)安装lnmp后,php.ini没有设置open_basedir,但是查看phpinfo()却发现
open_basedir /home/wwwroot/default:/tmp/:/proc/
找来找去,终于发现这个代码是写在了/home/wwwroot/default/.user.ini中
open_basedir=/home/wwwroot/default:/tmp/:/proc/
但是学虹的lnmp虽然可以出现phpmyadmin登录界面,但也无法访问内容,报告404错误。原因不明。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
出错二
moodle安装错误一则 - hyibing - 胡益兵的博客
 
可能是php版本太高。继续安装
moodle安装错误汇总 - hyibing - 胡益兵的博客
 过去moodle1.9曾出现过此类问题,需要修改nginx.conf。(可以参考另一篇文档http://hyibing.blog.163.com/blog/static/988283492012102782010978/)
不知moodle2.9怎么会出这种问题。索性将php降为5.5.25

改为lnmpa1.2安装
安装moodle2.8和moodle2.9出现以下两种错误提示
moodle安装错误汇总 - hyibing - 胡益兵的博客
 
moodle安装错误汇总 - hyibing - 胡益兵的博客
 后将zh_cn下载到moodledata/lang/目录中,第二个错误不在出现。有时第一个错误出现有时不出现,原因不明。
第一个错误curl的安装方法:
进入安装原php的源码目录
cd /lnmp1.2-full/src/php-5.6.9/ext/curl
phpize
./configure --with-curl=DIR需要指定php的配置路径,应该如下:
./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=/usr/local/php/etc/php.ini
make
make install
生成的扩展库文件自动生成在PHP的扩展目录下
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

配置php.ini文件
vi /usr/local/php/etc/php.ini 
添加
 extension=curl.so
重启php
  lnmp  环境下一直提示curl没有安装,lnmpa环境下开始提示没有安装,过一会儿不在报错。奇怪
----------------------------------------------------------------------------------------------------------------


moodle2安装错误汇总 - hyibing - 胡益兵的博客
yum install libicu*
yum install icu4*
yum install icu4j
进入安装原php的源码目录
cd /lnmp1.2-full/src/php-5.6.9/ext/intl
phpize
./configure --with-curl=DIR需要指定php的配置路径,应该如下:
./configure --with-php-config=/usr/local/php/bin/php-config 
make
make install
生成的扩展库文件自动生成在PHP的扩展目录下
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
配置php.ini文件
vi /usr/local/php/etc/php.ini 
找到设置扩展目录的位置,然后将扩展路径设置到apache2 modules目录下,并添加扩展库位置。
 extension=intl.so
重启php
-------------------------------------------------------------------------------------------------------------------------------
11月8日研究思路
moodle2安装错误汇总 - hyibing - 胡益兵的博客
 查阅了很多资料终于找了了.user.ini文件,这也解释了为什么php.ini中没有设置open_basedir,系统却提示一下错误
Warning: file_exists(): open_basedir restriction in effect. File(/home/wwwroot/moodledata26) is not within the allowed path(s): (/home/wwwroot/default:/tmp/:/proc/) in /home/wwwroot/default/moodle26/install.php on line 337
Warning: is_writable(): open_basedir restriction in effect. File(/home/wwwroot) is not within the allowed path(s): (/home/wwwroot/default:/tmp/:/proc/) in /home/wwwroot/default/moodle26/install.php on line 341
出错原因是LNMP 1.2开始PHP防跨目录限制使用.user.ini,该文件在网站根目录下,可以修改open_basedir的值来设置限制目录的访问。
.user.ini文件无法直接修改,而且是隐藏文件可能在winscp下可能无法看到,建议使用vim编辑器或nano编辑器进行修改。
如要修或删除需要先执行:chattr -i /网站目录/.user.ini
修改完成后再执行:chattr +i /网站目录/.user.ini
修改成open_basedir=/home/wwwroot:/tmp/:/proc/
ok

  评论这张
 
阅读(218)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018