PHP 升级过程中遇到问题,各种 google 都没解决办法,求助 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
xinlai
V2EX    Linux

PHP 升级过程中遇到问题,各种 google 都没解决办法,求助

  •  
  •   xinlai 2018-02-10 16:53:15 +08:00 5031 次点击
    这是一个创建于 2799 天前的主题,其中的信息可能已经有所发展或是发生改变。

    php 从 5.1 升级 5.6.33 ,php 成功安装,phpversion 显示的 5.6,但是页面使用调用数据库时显示 Fatal error: Call to undefined function oci_connect(),有大神知道怎么搞吗...

    25 条回复    2018-02-20 13:12:48 +08:00
    mafeifan
        1
    mafeifan  
       2018-02-10 17:00:42 +08:00 via Android
    翻译成中文不是 php 不认识这个函数,扩展没开吧。这么简单的问题我都不知道说啥了。
    xinlai
        2
    xinlai  
    OP
       2018-02-10 17:06:43 +08:00
    @mafeifan 知道扩展没展开,按照找到的方法试了安装成功,然后重启 apache 问题还是出现,然后呢?
    chaegumi
        3
    chaegumi  
       2018-02-10 17:07:03 +08:00
    安装 oci8 扩展
    chaegumi
        4
    chaegumi  
       2018-02-10 17:07:21 +08:00
    php.ini 有加吗
    chaegumi
        5
    chaegumi  
       2018-02-10 17:08:18 +08:00
    php -m
    function007
        7
    function007  
       2018-02-10 17:19:14 +08:00
    PHP Warning: PHP Startup: oci8: Unable to initialize module
    Module compiled with module API=20050922
    PHP compiled with module API=20131226
    These options need to match

    模块是不是太旧了。。
    xinlai
        8
    xinlai  
    OP
       2018-02-10 17:29:04 +08:00
    @function007 好像是,所以我需要先更新一下 module api 吗
    caola
        9
    caola  
       2018-02-10 17:34:25 +08:00
    既然更新了,为毛不上最新版本的 php7,
    php5 及以下版本,官方已经不再维护了
    xinlai
        10
    xinlai  
    OP
       2018-02-10 17:38:01 +08:00
    @caola 现有版本 5.1,昨天先试了 php7,问题很多,然后试了 php5.6,以为问题会少些...
    caola
        11
    caola  
       2018-02-10 17:59:49 +08:00
    连接数据建议使用 PDO,修改一些过时的函数和方法
    然后直接上 php latest 版本,再上标配的 https
    如果项目不大,并有时间的话,建议使用 laravel 框架重写一次
    widdy
        12
    widdy  
       2018-02-10 18:09:04 +08:00
    升级个鸡脖啊,有这世间干点啥不好!
    humpy
        13
    humpy  
       2018-02-10 18:10:39 +08:00   1
    @function007 编译扩展时指定的 php 环境不对,估计你系统里 phpize 和 php-config 默认是指向 php51 版本

    进到扩展源码目录里,执行下面的命令:
    (把 php56 替换为你安装的 php56 的绝对路径,假如 php56=/usr/local/bin/php56,php56/bin/phpize=/usr/local/bin/php56/bin/phpize )

    php56/bin/phpize
    ./configure --with-php-cOnfig=php56/bin/php-config
    make
    sudo make install
    skyjerry
        14
    skyjerry  
       2018-02-10 21:48:06 +08:00 via iPhone
    为什么要选择升级呢
    likuku
        15
    likuku  
       2018-02-11 00:54:04 +08:00
    不如在完全新环境下开发一套新的,功能上完全兼容旧版的,测试 OK 后,再把旧的上的业务慢慢切到新版应用来。
    gouchaoer
        16
    gouchaoer  
       2018-02-11 06:03:00 +08:00 via Android
    @caola 人家原生 oci 怎么改 pdo 啊,这种老项目为了安全和提高一点性能升级到 5.6 没任何问题,升级到 7 成本太大了,HTTPS 好但是麻烦啊,升级个 php 版本都能改成 laravel,那 laravel 刷版本那么快你怎么不去升级啊
    gouchaoer
        17
    gouchaoer  
       2018-02-11 06:06:10 +08:00 via Android
    升级个蛋啊,5.1 就 5.1 理他干嘛,安全问题怕的话上 docker,性能提升那么一点你又不稀罕
    gouchaoer
        18
    gouchaoer  
       2018-02-11 06:08:50 +08:00 via Android
    人工编译 php 的都是勇者,php 的扩展安装都一个个把依赖下好编译? remi 源那么好不用
    xinlai
        19
    xinlai  
    OP
       2018-02-11 08:47:16 +08:00
    @gouchaoer 好像是 gd 存在安全隐患,所以要求升级新版 php
    msg7086
        20
    msg7086  
       2018-02-11 09:00:58 +08:00   1
    gd 存在隐患又怎么样,如果你的系统一定要 5.1 才能跑,然后 5.1 没维护了,那就是没维护了,没辙。

    PHP 5.3 5.4 5.5 5.6 7.0 7.1 7.2,都是不同的版本,跨版本升级都可能会崩,不要想太多了。

    你要升级,也应该先从 5.3 5.4 开始试,一次升五六个版本是不是太激进了?

    关于 OCI8,我帮你去官网查了资料(为什么不自己查下呢?)
    http://php.net/manual/zh/oci8.requirements.php

    The OCI8 1.4 extension is included with PHP 5.3, PHP 5.4 and PHP 5.5.

    A newer OCI8 2.0 version is available only from PECL.

    够清楚了吧,如果你的程序依赖 1.4,那就只能用 5.5,再高是不支持的。如果 2.x 能用,那就去 PECL 下扩展包来装。
    predator
        21
    predator  
       2018-02-11 09:12:10 +08:00
    这样的求助也 TMD 能扯到用 XXX 重写……麻痹这个世道真的没法活了
    msg7086
        22
    msg7086  
       2018-02-11 09:14:31 +08:00
    @predator 但是也没办法,没了维护那就是淘汰。
    银行电信里几十年的设备还在跑,都是花大钱雇人来运维,强行续命。
    普通企业的系统就只能淘汰,能小改升级还好,改不了真的就只能重写了。
    predator
        23
    predator  
       2018-02-11 09:24:20 +08:00
    @msg7086
    我只是看不惯某楼回复里面叫人用 XXXX 重写,这种逻辑的人还是不要做程序员害人的好
    你这样的解决思路是值得给个赞的
    xinlai
        24
    xinlai  
    OP
       2018-02-11 09:34:13 +08:00
    @msg7086 非常感谢,oci8 昨天经过一通操作也已经解决,现在安装之类的已经做完,已经在测试系统了
    lolizeppelin
        25
    lolizeppelin  
       2018-02-20 13:12:48 +08:00 via Android
    要编译 拿别人弄好的 src rpm 改好了再编译
    直接拿源码 make 只能呵呵
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2300 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 15:54 PVG 23:54 LAX 08:54 JFK 11:54
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86