cyr11 发表于 2017-4-7 17:56:07

1.4安装多版本php问题

我默认5.3 现在php5.6 请问如果重起 php5.6 问题

还有xcache,memcached,imageMagick 这些如果安装在php多版本的5.6

军哥解决一下 多版本真的是太好了 解决了很多程序问题

cyr11 发表于 2017-4-7 18:01:06

重起命令知道了
/etc/init.d/php-fpm5.6 restart
安装xcache,memcached,imageMagick 多版本怎么搞

cyr11 发表于 2017-4-7 18:44:37

多版本还有一个问题是 open_basedir 一直是读根目录 改变user.ini 求解决 现在thinkphp5 一直错误

cyr11 发表于 2017-4-7 19:50:27

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;
      }

可能解决一直限制跟目录问题 回头验证一下

licess 发表于 2017-4-8 09:12:15

多php版本的扩展安装要测试完后过段时间发布

3楼你说的问题发一下错误信息和你.user.ini 的内容及/usr/local/nginx/conf/fastcgi.conf

cyr11 发表于 2017-4-8 23:12:17

我回复一下军哥
然后在说一下解决方案 可能不是最佳 希望正式版可以解决这个问题 目前安装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是替换了我域名

cyr11 发表于 2017-4-8 23:31:13

解决方法就是删除
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 失效

军哥正式版改进一下这个问题

cyr11 发表于 2017-4-8 23:32:41

还有一个问题 多版本 这个应该怎么安装 xcache,memcached,imageMagick
希望改进一下 安装的时候选择一些php版本就完美了

licess 发表于 2017-4-9 09:45:16

回复 7# 的帖子

你网站root设置的是多少

5楼已经说过要测试一段时间

cyr11 发表于 2017-4-9 23:37:25

网站root是
/home/wwwroot/lnmp.org/aa/public
thinphp5 官方建议这样

/home/wwwroot/lnmp.org/aa/
放的是thinkphp和application主要文件夹内容

licess 发表于 2017-4-10 10:44:41

fastcgi.conf中是按网站root的,超出就无法访问的

不需要跨目录可以使用tools目录下的./remove_open_basedir_restriction.sh 脚本进行移除
页: [1]
查看完整版本: 1.4安装多版本php问题