1.4安装多版本php问题
我默认5.3 现在php5.6 请问如果重起 php5.6 问题还有xcache,memcached,imageMagick 这些如果安装在php多版本的5.6
军哥解决一下 多版本真的是太好了 解决了很多程序问题 重起命令知道了
/etc/init.d/php-fpm5.6 restart
安装xcache,memcached,imageMagick 多版本怎么搞 多版本还有一个问题是 open_basedir 一直是读根目录 改变user.ini 求解决 现在thinkphp5 一直错误 open_basedir 一直是读根目录
后面删除了 自己安装了php 发现nginx有个配置
enable-php.conf
不妨改成
location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
fastcgi_passunix:/tmp/php-cgi5.6.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;
include fastcgi_params;
}
可能解决一直限制跟目录问题 回头验证一下 多php版本的扩展安装要测试完后过段时间发布
3楼你说的问题发一下错误信息和你.user.ini 的内容及/usr/local/nginx/conf/fastcgi.conf 我回复一下军哥
然后在说一下解决方案 可能不是最佳 希望正式版可以解决这个问题 目前安装thinkphp5 绑定到public 应该都是报错如下
Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/lnmp.org/aa/thinkphp/start.php) is not within the allowed path(s): (/home/wwwroot/lnmp.org/aa/public/:/tmp/:/proc/) in /home/wwwroot/lnmp.org/aa/public/index.php on line 19
Warning: require(/home/wwwroot/lnmp.org/aa/thinkphp/start.php): failed to open stream: Operation not permitted in /home/wwwroot/lnmp.org/aa/public/index.php on line 19
Fatal error: require(): Failed opening required '/home/wwwroot/lnmp.org/aa/public/../thinkphp/start.php' (include_path='.:/usr/local/php/lib/php') in /home/wwwroot/lnmp.org/aa/public/index.php on line 19
user.ini 默认就是 open_basedir=/home/wwwroot/lnmp.org/aa/public:/tmp/:/proc/
修改成 /home/wwwroot/lnmp.org/aa也一样报错 直接删除 user.ini 也一样报错 应该是user.ini 不起作用
原因应该是fastcgi.conf 最后一行 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在做怪
/usr/local/nginx/conf/fastcgi.conf
fastcgi_paramSCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_paramQUERY_STRING $query_string;
fastcgi_paramREQUEST_METHOD $request_method;
fastcgi_paramCONTENT_TYPE $content_type;
fastcgi_paramCONTENT_LENGTH $content_length;
fastcgi_paramSCRIPT_NAME $fastcgi_script_name;
fastcgi_paramREQUEST_URI $request_uri;
fastcgi_paramDOCUMENT_URI $document_uri;
fastcgi_paramDOCUMENT_ROOT $document_root;
fastcgi_paramSERVER_PROTOCOL $server_protocol;
fastcgi_paramREQUEST_SCHEME $scheme;
fastcgi_paramHTTPS $https if_not_empty;
fastcgi_paramGATEWAY_INTERFACECGI/1.1;
fastcgi_paramSERVER_SOFTWARE nginx/$nginx_version;
fastcgi_paramREMOTE_ADDR $remote_addr;
fastcgi_paramREMOTE_PORT $remote_port;
fastcgi_paramSERVER_ADDR $server_addr;
fastcgi_paramSERVER_PORT $server_port;
fastcgi_paramSERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_paramREDIRECT_STATUS 200;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
里面lnmp.org是替换了我域名 解决方法就是删除
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
然后
user.ini 默认就是 open_basedir=/home/wwwroot/lnmp.org/aa/public:/tmp/:/proc/
把 /public 删除
变成
open_basedir=/home/wwwroot/lnmp.org/aa:/tmp/:/proc/
就可以了 重起 nginx和php
1.4版本加了
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
后就限制到根目录里 并且user.ini 失效
军哥正式版改进一下这个问题 还有一个问题 多版本 这个应该怎么安装 xcache,memcached,imageMagick
希望改进一下 安装的时候选择一些php版本就完美了
回复 7# 的帖子
你网站root设置的是多少5楼已经说过要测试一段时间 网站root是
/home/wwwroot/lnmp.org/aa/public
thinphp5 官方建议这样
/home/wwwroot/lnmp.org/aa/
放的是thinkphp和application主要文件夹内容 fastcgi.conf中是按网站root的,超出就无法访问的
不需要跨目录可以使用tools目录下的./remove_open_basedir_restriction.sh 脚本进行移除
页:
[1]