1. 程式人生 > >centos在安裝了php5.3和php5.6的環境前提下安裝php-redis擴充套件

centos在安裝了php5.3和php5.6的環境前提下安裝php-redis擴充套件

    我們的專案所在的伺服器的lamp環境中,經過這次安裝php-redis擴充套件的時候才發現,伺服器上竟然存在兩個版本的php,一個是系統自帶的版本5.3,一個是另外安裝的版本5.6,而且似乎沒有人安裝過docker什麼的來控制環境版本,這就尷尬了。。。

    我首先百度centos上安裝php-redis擴充套件的時候,根據流程,編譯安裝好以後,修改php.ini,重啟apache後沒有生效,php -m也沒有看到redis出現在module的列表中,所以想查閱資料解決這個問題,然後php -v時發現php版本是5.6,而且通過phpinfo()檢視擴充套件時發現其configure的路徑不是php.ini所在的/etc/php.ini,而是/usr/local/php5/etc/php.ini,而這個路徑檔案不存在,所以找不到php.ini,我就認為檔案缺失導致,然後將檔案拷貝到這個路徑,還有redis.so檔案也是拷貝到相關extension路徑,然後可以找到php.ini檔案了。

    然而還沒有結束,雖然找到了,但是還是沒有生效,php -m不僅找不到redis.so,還出現了錯誤,後來經過各大論壇和手冊資料的查閱一番後,因為我執行/usr/bin/php -v發現版本是5.3,所以我之前編譯使用的/usr/bin/phpize和/usr/bin/php-config在相同的路徑下都是5.3版本的,然後編譯安裝到了/usr/lib64/php/modules路徑中了,在5.6版本中的php拷貝過去的是版本5.3編譯的,所以我刪掉這個redis.so後,通過版本5.6的phpize和php-config兩個檔案重新編譯安裝了php-redis,然後成功出現在了extension資料夾中,然而執行後出現了另外的報錯,似乎是不能載入動態連結庫redis.so,因為其出現了undefined symbol:executor_globals,這個問題目前橫在我的面前,查過一些方法,沒有什麼用處。

    就在看似毫無辦法之際,我突然想到為什麼不切換到php5.3版本來使用,之前安裝好的redis.so在5.3版本上是可以的應該,可以執行find / -name php或者whereis php查詢所有的php檔案及資料夾,然後我執行/usr/bin/php -v發現版本是5.3,/usr/sbin/php -v版本是5.6,這樣找到了兩個php的執行檔案,然後查詢系統環境變數$PATH,發現是5.6版本的在前執行,所以環境上php版本是5.6的版本,所以我用mv /usr/sbin/php /usr/sbin/php5.6.bak進行重新命名,使其環境上執行之後的php5.3的版本,也就是/usr/bin/php,然後php -v發現版本改變為了5.3的版本,php -m中也發現了redis成功安裝上去的標誌,然後我利用簡單的php檔案程式碼:

<?php
  $redis = new Redis();
  $redis->connect('127.0.0.1',6379);
  $redis->set('test','hello world!');
  echo $redis->get('test');
 ?>

    用來測試一下redis是否成功執行。輸入php xxx.php(檔名),可以看到hello world說明執行成功。如果環境沒有改變,還是5.6的版本的話,也可以直接用/usr/bin/php xxx.php執行檔案,這樣也可以用5.3版本執行。

    這些問題的講述我簡化了許多,其中很多問題也費了很長時間,通過各種查詢資料和閱讀材料,我也對於linux的環境方面有更深刻的認識和了解,真的是遇到了問題,解決了問題,也學到了知識啊。

相關推薦

centos安裝php5.3php5.6環境前提安裝php-redis擴充套件

    我們的專案所在的伺服器的lamp環境中,經過這次安裝php-redis擴充套件的時候才發現,伺服器上竟然存在兩個版本的php,一個是系統自帶的版本5.3,一個是另外安裝的版本5.6,而且似乎沒有人安裝過docker什麼的來控制環境版本,這就尷尬了。。。    我首先百

centos升級php5.3php5.6

Talk is cheap, show me the code. 檢視並刪除原有的php5.3 檢視原有的php版本: php -V 檢視已經安裝的php的包: yum list installed | grep php 可以看到如下原有

win10、win8win7解決php5.35.4、5.5等不能載入php_curl.dll的終極解決辦法

最近分別在win7和Win8、win10 上分別安裝php 高版本!都遇到了這個問題! 一、win7系統, apache2.2/apache2.4, php5.2升級到5.4. 這個比較容易: 1. phpinfo發現沒有載入curl; 2. 在php.ini中設定e

PHP5.3PHP5.4、PHP5.5、PHP5.6的新特性

1. PHP5.3中的新特性 1.1 支援名稱空間(namespace) 毫無疑問,名稱空間是PHP5.3所帶來的最重要的新特性。 在PHP5.3中,可以用名稱空間防止程式碼的衝突,名稱空間的分隔符為 \ 反斜線。 1.2 通過static關鍵字

centos 6.5系統安裝ibus及設置開機自啟動

系統環境 tails src home 博客 技術分享 bus 快捷鍵 執行 先說一下系統環境:centos 6.5,然後我是以root身份執行的,沒有權限的用戶參見sudo用法 第1步:查找並安裝ibus安裝包,命令如下: 找到一行: ibus-pinyin.x86_6

centos7centos6.5環境rpm方式安裝mysql5.7mysql5.6詳解

安裝mysql5.7和mysql5.6詳centos7和centos6.5環境rpm方式安裝mysql5.7和mysql5.6詳解centos環境安裝mysql5.7其實不建議安裝mysql5.7 語法和配置可能和以前的版本區別較大,多坑,慎入1.yum方式安裝(不推薦)a.安裝mysql5.7 yum源ce

mysql5.7mysql5.6同在CentOS7.4安裝差異對比之5.6.40

mysql5.6Mysql5.6.40 mkdir –p /var/lib/mysql/ rpm -qa|grep mariadb // 查詢出來已安裝的mariadbrpm -e --nodeps 文件名 // 卸載mariadb,文件名為上述命令查詢出來的文件 yum -y install gcc

Centos7 安裝hadoop2.7.3jdk1.8

配置 tin source 沒有 https prope font col 配置環境變量 下載好hadoop和jdk軟件包,傳到虛擬機上 第一步:安裝jdk並配置環境變量 解壓 tar -xvf 配置環境變量 vim /etc/profile #set ja

Linux(CentOS 6.5)安裝Nginx

Linux(CentOS 6.5)下Nginx安裝步驟 1、Nginx安裝環境:Nginx是C語言開發的,建議在Linux上執行 GCC  :安裝Nginx需要將官網下載的原始碼進行編譯,編譯依賴gcc環境,在Linux中檢視是否安裝gcc:gcc --version,如果沒

MySQL實踐(一)- CentOS release 6.5系統安裝MySQL

一、 安裝前 在安裝 MySQL資料庫之前,已經將MySQL安裝檔案上傳到 Linux 伺服器上。 目標作業系統:CentOS release 6.5 (Final) 安裝的資料庫:MySQL5.6.34 二、安裝準備 本文件需要具備 Linux 作業系

EFK家族---CentOS7安裝Elasticsearch6.4.3使用

轉載請註明出處:EFK家族—CentOS7安裝Elasticsearch6.4.3和使用 我們在上篇文章中已經瞭解了Elasticsearch EFK家族—Elasticsearch介紹 本章我們來學習安裝和使用。 安裝 Elastic 需要 Java 8 環境。如果你的機器

安裝配置Storm環境第一步 安裝zookeeper環境 (一)

同步 自己 個數 get 5-0 安裝和配置 錯誤 resolve num 1.安裝配置Zookeeper 2.Storm的核心配置文件 $STORM_HOME/conf/storm.yaml 3.註意:如果要搭建Storm的HA(高可用性),nimbus即可. 4.把配

開發電子商城6(linux安裝nginx)

usr 執行 下載 where linux下 linu 解壓 spa figure 1:確定本機是否安裝了gcc-c++的庫 沒有的話就安裝 whereis gcc yum install gcc-c++ 2:確定本機是否安裝了pcre的函數庫 沒有的話就

2017-12-26--mysql(5.6.15),linux安裝使用

between key main mpat reg ini exe xxx eap 本文檔的目的是,指導使用者安裝、配置、還原所需要用到的mysql數據庫。僅提供linux版本服務器的安裝說明,且linux版本為64位的Centos6.4。同時,會提供的mysql安裝包(M

Centos雲服務器上架設python3.6環境

openss py3 entos config dev 工具 sudo -o vim 雲服務器的管理少不了ssh工具。這裏不得不安利一下MobaXterm ,讓用了多年putty的我感到相當驚豔。免費版已經相當夠用,箇中方便美觀用了才知道好不好:) 言歸正傳,這裏記錄下設置

windows安裝redisPHP redis擴充套件

1、安裝Redis (1)這裡選擇在github官網上下載Redis,地址:Redis下載地址 下載壓縮包(如下圖),並解壓到本地目錄,我放在D:\wamp\redis\redis-windows       (2)驗證Redis安裝是否成功開啟命令視窗, 然後進入

centos系統 yum 安裝php-redis擴充套件

1.通過命令檢視php版本 php -v or php -version 2.列出所有的可以安裝的php軟體包列表 yum list | grep php55w* 3.yum安裝redis擴充套件 yum -y install php55w-pecl-redis.

centos7.4 python3.6 Anaconda3 的安裝tensorflow

參考這個部落格 https://blog.csdn.net/learn_tech/article/details/79861683 在anaconda環境下,安裝tensorflow 2018年04月09日 10:33:34 learn_

Anaconda在已有python3.6的情況安裝python2.7

現在預設已經安裝的是自帶python3.6的Anaconda,要安裝python2.7 在Prompt中打這個命令 conda create -n python27 python=2.7 這樣就建了一個新的名字叫python27的新環境,打完這行程式碼之後會自動下pyt

libpcap丟包原理分析及Fedora 9 核心2.6.25.14安裝PF-RING的詳細過程

      看到網上有人講解fedora 9下安裝PF-RING的過程,都是幾年前的了,比較老了,我安裝PF-RING就是為了使用libpcap庫,libpcap的原理是通過socket將資料包從網絡卡 捕獲資料包,然後在提交給應用程式,和winpcap很大的區別是,libpcap採用的是2個緩衝區,核心類似