php配置文件分析

php配置文件分析
介绍

今天,当教别人使用protobuf,我发现一个奇怪的问题,PHP CLI模式。我花了很长时间才找到解决办法。在这里,我将与你分享

问题描述

我们首先介绍了protobuf协议,使用快速的 / PHP protobuf扩展安装。这些天,其他同事也需要使用这。所以我把protobuf部分生成的PHP类库文件在公共场所 / / / php_proto数据文件夹,其中包含这些内容。

drwsrwxr-x 2 yanruitao用户409610个月17 DMP 14

- rwxrwxr-x 1 yanruitao用户47210个月10 dmp.proto 17时59分

drwsrwxr-x 2 yanruitao用户409610个月10 protobufcompiler 17:54

- rwxrwxr-x 1 yanruitao用户29693个月92015 protoc-php.php
后两者是必要的。当我们生成PB协议来实现类库文件时,我们将使用它们。前两个是一个简单的例子。使用起来也很简单。

PHP protoc-php.php N——PSR dmp.proto / / N是命名空间的使用,——PSR是psr-4标准和其他同事在使用时发现是错的,

PHP警告:file_put_contents(pb_proto_dmp。PHP):打开失败:权限被拒绝、否认309。
我的同事问我,当我说,再加上sudo,sudo加的问题更为严重,原本安装扩展程序加载不成功,以下这样的问题经过大量排查:

yanruitao美元:我grep'php PHP INI的|

yanruitao美元:sudo -我grep'php PHP INI的|
两用户负荷不相同的配置文件,一般用户负荷/ usr / / / lib本地PHP / php.ini,和根用户加载的文件/ etc / php.ini,我把在文件的内容有两个一看就不一样了,呵呵,非常高兴,赶紧把 /等/的备份,复制/ usr / / / lib PHP本地 / / /等的php.ini复制后,当我再使用吓了我一跳,有很多错误

PHP警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 web_stub_cntl。所以/ usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 web_stub_cntl.so:未定义的符号:zend_new_interned_string在未知的0线

警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 web_stub_cntl。所以/ usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 web_stub_cntl.so:未定义象征:zend_new_interned_string在未知的0线

PHP警告:PHP启动:测试:无法初始化模块

用模块api = 20100525编译的模块

用模块api = 20090626编译的PHP

这些选项需要匹配。

未知的第0行

警告:PHP启动:测试:无法初始化模块

用模块api = 20100525编译的模块

用模块api = 20090626编译的PHP

这些选项需要匹配。

未知的第0行

PHP警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 protobuf。所以/ usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 protobuf.so:未定义的符号:zend_new_interned_string在未知的0线

警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 protobuf。所以/ usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 protobuf.so:未定义象征:zend_new_interned_string在未知的0线

PHP警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 imagick。所以/ usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 imagick.so:未定义的符号:zend_new_interned_string在未知的0线

警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 imagick。所以/ usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 imagick.so:未定义象征:zend_new_interned_string在未知的0线

PHP警告:PHP启动:无法加载动态库的 /数据/老板/ phpredis开发 /模块/ redis, / / / phpredis老板数据开发/模块/ redis.so: / / / phpredis老板数据开发 / / Redis模块所以,PHP 0。

警告:PHP启动:无法加载动态库的 /数据/老板/ phpredis开发 /模块/ redis, / / / phpredis老板数据开发/模块/ redis.so:未定义的定义,0启动:。

PHP警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525卷曲。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / /扩展no-debug-non-zts-20100525 / curl.so:文件:没有这样的文件或目录在线0未知

警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525卷曲。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 curl.so:文件:没有这样的文件或目录在线0未知

PHP警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 FileInfo。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / /扩展no-debug-non-zts-20100525 / fileinfo.so:文件:没有这样的文件或目录在线0未知

警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 FileInfo。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 fileinfo.so:文件:没有这样的文件或目录在线0未知

PHP警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 GD。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / /扩展no-debug-non-zts-20100525 / gd.so:文件:没有这样的文件或目录在线0未知

警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 GD。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 gd.so:文件:没有这样的文件或目录在线0未知

PHP警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 JSON。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / /扩展no-debug-non-zts-20100525 / json.so:文件:没有这样的文件或目录在线0未知

警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 JSON。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 json.so:文件:没有这样的文件或目录在线0未知

PHP警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525药。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / /扩展no-debug-non-zts-20100525 / phar.so:文件:没有这样的文件或目录在线0未知

警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525药。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 phar.so:文件:没有这样的文件或目录在线0未知

PHP警告:PHP启动:无法加载动态库的 /数据/老板/ phpredis开发 /模块/ redis, / / / phpredis老板数据开发/模块/ redis.so: / / / phpredis老板数据开发 / / Redis模块所以,PHP 0。

警告:PHP启动:无法加载动态库的 /数据/老板/ phpredis开发 /模块/ redis, / / / phpredis老板数据开发/模块/ redis.so:未定义的定义,0启动:。

PHP警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525拉链。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / /扩展no-debug-non-zts-20100525 / zip.so:文件:没有这样的文件或目录在线0未知

警告:PHP启动:无法加载动态库的 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525拉链。so'cannot打开共享对象 / usr / / / lib本地PHP PHP / / / /扩展no-debug-non-zts-20100525 zip.so:文件:没有这样的文件或目录在线0未知

protoc-php.php protobuf扩展需要安装运行

它让我失去了我的心。

在过去很长一段时间,没有发现任何突破,但发现这个问题的一个备用方案,修改 / / / php_proto数据文件夹的权限为0775,普通用户可以直接使用,没有sudo(这是我的错,忘记更改文件夹的权限,我发现这个奇怪的问题)

chmod -R 0775 / / php_proto数据

阅读报纸的大部分错误都是扩展。其中一些没有成功加载。有些扩展不存在。我想知道为什么普通用户可以是root用户。

当您看到root用户PHP I时,该文件的位置与非root用户不一致:

/根
扫描此目录,以增加。Ini(文件=没有)

附加INI文件(解析=无)



扫描此目录以获取附加的INI文件。

额外的.ini文件解析= / / PHP等。D / curl.ini,

......

加载相同内容后,相同的配置文件是如何命名的

半天来,我知道报纸上的一些错误与此有关,但是在这个地方被改变了,搜索了很长时间,没有被搜查过。

人们突然认为根用户和非root用户使用的PHP可执行文件是不一致的。

根= > / usr /斌/ PHP

根= > / usr /局部/斌/ PHP
试着将这两个文件使用PHP - V,结果吓了我一跳,根用户的版本是5.3.3,非根用户5.4.6,哈哈,我哈哈,谁部署环境~,啊。

在试图复制原文/ usr /斌/ PHP和复制/ usr /局部/斌/ PHP来掩盖它,发现版本PHP V相一致,这并没有错。再次,我们执行PHP protoc-php.php N——PSR dmp.proto,发现都是,这是解决这个问题的办法。

半天,结果就是版本的问题。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部