麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

php cli配置文件問題分析

2020-03-22 20:08:16
字體:
供稿:網(wǎng)友
引言今天在教別人使用protobuf的時候,無意中發(fā)現(xiàn)了一個php cli模式下的詭異問題,費(fèi)了老半天的找到解決方法了,這里拿出來分享下。問題描述我們這邊最先引入了protobuf協(xié)議,使用的是allegro/php-protobuf這個擴(kuò)展安裝的。這幾天其他同事也要用到這個,于是我將protobuf生成php類庫文件的部分放到了一個公共的位置/data/php_proto/文件夾下,里面有這些內(nèi)容,drwsrwxr-x 2 yanruitao users 4096 10月 14 17:05 Dmp
-rwxrwxr-x 1 yanruitao users 472 10月 10 17:59 dmp.proto
drwsrwxr-x 2 yanruitao users 4096 10月 10 17:54 ProtobufCompiler
-rwxrwxr-x 1 yanruitao users 2969 3月 9 2015 protoc-php.php
后面兩個是必須的,生成pb協(xié)議實(shí)現(xiàn)類庫文件時會用到,前面兩個是一個簡單的例子,使用也很簡單,就像下面這樣。php protoc-php.php -n --psr dmp.proto //-n是使用命名空間,--psr是使用psr-4標(biāo)準(zhǔn)等同事用的時候發(fā)現(xiàn)會報(bào)錯,PHP Warning: file_put_contents(pb_proto_dmp.php): failed to open stream: Permission denied in /data/php_proto/ProtobufCompiler/ProtobufParser.php on line 309
同事問我的時候我直接說,加上sudo就可以了,結(jié)果加上sudo問題更嚴(yán)重了,本來裝好的擴(kuò)展程序加載不成功,經(jīng)過一番排查發(fā)下有下面這么一個問題:$yanruitao: php -i | grep 'php.ini'
$yanruitao: sudo php -i | grep 'php.ini'
兩種用戶加載的不是同一個配置文件,普通用戶加載的是/usr/local/php/lib/php.ini,而root用戶加載的是/etc/php.ini這個文件,我看了下這兩個文件內(nèi)容不一致,哈哈,好開心,趕緊把先把/etc/php.ini備份,/usr/local/php/lib/php.ini復(fù)制到/etc/php.ini,復(fù)制完了之后,我再使用的時候嚇我一跳,報(bào)了一大堆錯誤:PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/web_stub_cntl.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/web_stub_cntl.so: undefined symbol: zend_new_interned_string in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/web_stub_cntl.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/web_stub_cntl.so: undefined symbol: zend_new_interned_string in Unknown on line 0
PHP Warning: PHP Startup: test: Unable to initialize module
Module compiled with module API=20100525
PHP compiled with module API=20090626
These options need to match
in Unknown on line 0Warning: PHP Startup: test: Unable to initialize module
Module compiled with module API=20100525
PHP compiled with module API=20090626
These options need to match
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/protobuf.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/protobuf.so: undefined symbol: zend_new_interned_string in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/protobuf.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/protobuf.so: undefined symbol: zend_new_interned_string in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/imagick.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/imagick.so: undefined symbol: zend_new_interned_string in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/imagick.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/imagick.so: undefined symbol: zend_new_interned_string in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/data/boss/phpredis-develop/modules/redis.so' - /data/boss/phpredis-develop/modules/redis.so: undefined symbol: zend_new_interned_string in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/data/boss/phpredis-develop/modules/redis.so' - /data/boss/phpredis-develop/modules/redis.so: undefined symbol: zend_new_interned_string in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/curl.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/curl.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/fileinfo.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/fileinfo.so: cannot open shared object file: No such file or directory in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/fileinfo.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/fileinfo.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/gd.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/gd.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/json.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/json.so: cannot open shared object file: No such file or directory in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/json.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/json.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/phar.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/phar.so: cannot open shared object file: No such file or directory in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/phar.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/phar.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/data/boss/phpredis-develop/modules/redis.so' - /data/boss/phpredis-develop/modules/redis.so: undefined symbol: zend_new_interned_string in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/data/boss/phpredis-develop/modules/redis.so' - /data/boss/phpredis-develop/modules/redis.so: undefined symbol: zend_new_interned_string in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/zip.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/zip.so: cannot open shared object file: No such file or directory in Unknown on line 0Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/zip.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/zip.so: cannot open shared object file: No such file or directory in Unknown on line 0
protoc-php.php requires protobuf extension installed to run這讓我摸不著頭腦了。時間過去了好久,沒有發(fā)現(xiàn)任何突破,卻發(fā)現(xiàn)了一個備用的解決這個問題的方案,修改/data/php_proto/文件夾權(quán)限為0775,其他普通用戶就可以直接使用了,不用加sudo(這個是我的錯,忘記修改文件夾權(quán)限了,這也讓我發(fā)現(xiàn)了這個詭異的問題)chmod -R 0775 /data/php_proto
看了報(bào)的這些錯誤,大部分都是擴(kuò)展的問題,有的是擴(kuò)展加載不成功,有的是擴(kuò)展不存在,我就納悶了,為什么普通用戶可以,root用戶就不可以。看到root用戶php -i的時候,配置文件的地方跟非root用戶有不一致的地方://非root
Scan this dir for additional .ini files = (none)
Additional .ini files parsed = (none)//root
Scan this dir for additional .ini files = /etc/php.d
Additional .ini files parsed = /etc/php.d/curl.ini,
......
命名加載的是一樣的配置文件怎么加載之后的內(nèi)容就不一樣呢?
搜了半天,知道了報(bào)的錯里面有部分是跟這個有關(guān)系的,但是這個在哪里修改搜了老久也沒有搜到。忽然想到root用戶和非root用戶使用的php可執(zhí)行文件是不一致的root = /usr/bin/php
非root = /usr/local/bin/php
嘗試著對這兩個文件使用了php -v,結(jié)果下了我一跳,root用戶的版本是5.3.3,非root用戶是5.4.6,呵呵,我就呵呵了,誰部署的環(huán)境~,坑人啊。嘗試著將原有/usr/bin/php備份后,復(fù)制/usr/local/bin/php過來覆蓋掉,在使用php -v發(fā)現(xiàn)版本一致了,也不報(bào)錯了,再次去執(zhí)行php protoc-php.php -n --psr dmp.proto,發(fā)現(xiàn)all is well,至此問題解決。糾結(jié)了半天,結(jié)果就是版本的問題。PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 美国一级免费视频 | 欧美精品一区二区久久 | 亚洲第五色综合网 | 亚洲性生活免费视频 | 午夜视频中文字幕 | 欧美天堂一区 | av噜噜噜噜| 精品一区二区在线播放 | 久久久www成人免费精品 | 日韩视频一区二区在线观看 | 13一14毛片免费看 | 国产va在线观看 | 日本黄色免费观看视频 | 色综合网在线观看 | 免费一级在线观看 | 久久久久久久一区二区 | 欧美精品免费一区二区三区 | 91九色视频| 欧美三级日本三级少妇99 | 国产精品一区二区三区在线播放 | 亚洲天堂岛国片 | 激情视频在线播放 | 视频一区二区三区在线观看 | 91精品国产乱码久久久久久久久 | 婷婷久久影院 | 亚洲第一精品在线 | 亚洲国产精品高潮呻吟久久 | h视频免费在线观看 | 午夜视频播放 | 高清做爰免费无遮网站挡 | 日日鲁夜夜视频热线播放 | 一区播放| 黄色网址免费进入 | 色视频在线观看 | 亚洲欧美一区二区三区在线观看 | 久久影院在线观看 | 成人福利视频在线 | xxxxhd73国产| 九一传媒在线观看 | 国产成人精品区 | 一级黄色欧美 |