如何讓網站不同頁面調用不同PHP版本

2021-02-18 生信札記

寫在寫在前面的前面

是的,知道我的朋友應該都清楚,前述我提到了,我會停筆到下一個學術論文投出。不過這幾天我一直在考慮一個問題,手上確實有一些想寫的,那麼是不是確實值得寫寫?今天發現身邊的人幾乎都放假了,我的工作時間也從正常工作時間縮短為三分之二不到,一個人似乎確實有些事情做不動。於是我開始考慮,是不是我也正式放假,也就是說,不做課題的,也不做學校的事情,做一些自己感興趣的事情,比如coding,或者錄製一些值得錄製的教程,這些似乎會有趣一些。當然,或許學一門新的語言也是一個選擇。還是沒決定下來,所以繼續停筆。不過,我在猶豫是不是休假,而我卻有一個不休假的師弟。。。剛才收到他的投稿,於是推出,希望對有需要的朋友有一定的幫助。

很久很久以前,在這個公眾號早些時候,我提到過,我個人的認知裡,自稱搞生信的,基本是兩個主要方向:

往上走,搞算法,搞數學,搞大型機

往下走,搞生物學問題

而隨著這幾年測序價格的不斷下跌,以上兩塊能做好的人,寥寥無幾。主要原因,其實每個人自己清楚。既然都做不到,那麼就會存在新的市場缺口:

所謂的個性化分析,提供服務的,累死狗的

雲平臺數據分析,極其簡便的界面化數據分析工具

符合特定需求的資料庫或網站

我想,對於經費充足,且一心關注生物學問題的,那麼應該確實不會花時間在技術上折騰,而會選擇購買以上三種服務。其他的就不說了。還是看看師弟的推文吧。

寫在前面

我目前的網站開發環境是用lampp搭建的(PHP7+Apache+MySQL)。
最近在用一個開源的網頁工具,但是該工具是php5.3寫的。。。直接導致我目前的環境運行不了該工具 ,因為php5和php7差異太大,比如php7直接廢棄了mysql 擴展庫,而使用mysqli擴展庫。。

那麼如何使不同的網站調用不同的php版本呢?

可以使用寶塔一鍵安裝開發環境,在寶塔中是可以隨意切換php版本的,或者是PHPstudy也可以。但是我並沒有這麼做。。。因為我調試nginx到一半才發現可以用寶塔。。。可是又不想放棄,總感覺放棄會很不爽 ,好在最終還是調試成功了。

我的解決辦法:既然我已有的開發環境是 PHP7+Apache ,那麼我完全可以再手動搭建一個nginx+php5的環境要調用php7的網站就放到Apache,調用php5的就放到nginx然後共用一個MySQL。完美


安裝 Nginx

yum -y install gcc automake autoconf libtool makeyum install gcc gcc-c++


cd /usr/local/srcwget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gztar -xzvf pcre-8.39.tar.gzcd pcre-8.39./configuremakemake install



cd /usr/local/src wget http://zlib.net/zlib-1.2.11.tar.gztar -xzvf zlib-1.2.11.tar.gzcd zlib-1.2.11./configuremakemake install



wget http://nginx.org/download/nginx-1.1.10.tar.gztar -zxvf nginx-1.1.10.tar.gzcd nginx-1.1.10./configuremakemake install

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf


然後就可以通過 ip:埠 訪問啦
格式為:你的IP:8089
將網頁文件放在 /usr/local/nginx/html/ 目錄下就可以正常訪問網頁了。

參考:https://www.cnblogs.com/wyd168/p/6636529.html


安裝php

tar -xzvf php-5.3.20.tar.gzcd php-5.3.20


./configure --enable-fpm --enable-mysqlnd --with-mysql=/opt/lampp/ --without-sqlite --without-pdo-sqlite --with-gd --with-freetype-dir=/usr/include/freetype2/freetype/   make make install


cp php.ini-development /usr/local/php-5.3.20/php.ini


配置nginx,使網頁能夠調用剛剛安裝的php5


Nginx是通過PHP-FastCGI與PHP交互的。而PHP-FastCGI運行後會通過文件、或本地埠兩種方式進行監聽,在Nginx中配置相應的FastCGI監聽埠或文件即實現Nginx請求對PHP的解釋,並配置來保證對於 .php 文件的請求將被傳送到後端的 PHP-FPM 模塊。

cp /usr/local/etc/php-fpm.conf.default /usr/local/sbin/php-fpm.confcd /usr/local/sbin

可以看到該文件夾下有php-fpm 以及 php-fpm.conf


cd /usr/local/nginx/confvim nginx.conf


/usr/local/nginx/sbin/nginx  -s reload

輸入腳本內容:


至此,就大功告成啦!
文中的路徑均為我的路徑,如有不同 修改成自己的相應路徑即可

寫在最後

在這裡我只是提出了一個大概的解決辦法,我自己在實行過程中遇到了很多bug,文中並沒有一一列出來,但是主要的配置部分已經寫清楚,相信其他安裝過程中的小bug,通過Google和Baidu 可以解決。
最後,debug成功的感覺真好 哈哈哈,繼續努力吧~

相關焦點

  • 怎樣讓wordpress網站的不同分類頁面,調用不同的banner圖片?
    在我們的wordpress網站模板開發中,我們可能有這樣的一個需求,就是能在自己的wordpress網站的不同的分類目錄頁面,能調用不同的banner圖片。比如:醫院類網站,醫院科室比較多,男科分類調用男科相關的banner圖,婦產科調用嬰兒相關的banner圖片,神經科調用神經相關的banner圖片,以此類推。這類需求,在企業網站上體現的比較多。那麼,在wordpress模板開發中,我們怎樣為wordpress網站的不同分類添加不同的banner圖片呢?
  • 怎樣給wordpress網站分類目錄頁面,添加文章列表和分頁效果?
    在前面的章節中,我們完成了wordpress網站首頁模板數據的調用,也創建好了wordpress網站的公共模板。今天,我們再來給wordpress網站的分類目錄頁模板archive.php文件添加左側數據的調用。
  • 在HTML中利用js調用php的內容
    首頁 > 語言 > 關鍵詞 > php最新資訊 > 正文 在HTML中利用js調用php的內容
  • 【進階】實現頁面靜態化,PHP是如何實現的,你又是如何實現的
    不過中小型網站還是做成純靜態的比較,這樣做的優點是很多的。而動態網站又是怎麼進行靜態處理的?頁面靜態化是指將動態頁面變成html/htm靜態頁面。動態頁面一般由asp,php,jsp,.net等程序語言編寫而成,非常便於管理。但是訪問網頁時還需要程序先處理一遍,所以導致訪問速度相對較慢。
  • 簡述MVC思想與PHP如何實現MVC
    1.能使網站程序物理結構更合理。當用PHP建設一個網站的時候,最笨的方法,你可能把每個頁面建成一個PHP文件。如果你的網站只有index.php,menu.php.article.php 三個頁面,那你可以不用MVC,但我們做一般的網站的時候,動輒幾十個頁面,把所有頁面放在根目錄顯然不是我們所能接受的,於是你需要一個合理的思想去將你的代碼分類,按功能把他們分成不同的目錄,且由程序智能的載入調用,這就是MVC要幫助你做的。2.使代碼更容易維護。
  • 在wordpress網站模板中,怎樣添加和調用公共頭部模板?
    在wordpress網站模板主題開發中,我們可能會碰到這樣一個問題:wordpress網站前臺頁面的頭部、側邊欄、底部的數據基本上是差不多的,有的甚至是一模一樣的,這時,我們還有必要在每一個頁面的頭部、側邊欄、底部重複添加或修改相同的代碼嗎?有沒有更好的方法。
  • SKU是什麼意思,企業網站如何處理不同SKU?
    SKU那麼,SKU是什麼意思,企業網站如何處理不同SKU?從企業網站優化的角度來講,最為明顯的例子就是:同一個產品,會產生不同的型號,從而形成多個不同的SKU,理論上,這對於制定企業產品銷售方案沒有任何影響,但對應頁面的SEO優化,卻有著直觀的影響。那麼,如何處理,企業產品不同SKU對SEO的影響?
  • PHP個人網站架設連環講(一)
    首頁 > 語言 > 關鍵詞 > php最新資訊 > 正文 PHP個人網站架設連環講(一)
  • 關於PHP程式設計師解決問題的能力
    與php-fpm加載不同的配置  存在多個版本的php,懂得通過which php來看是哪個PHP,或者加絕對路徑制定php版本。  另外一個情況就是php-cli與php-fpm得到的執行情況不一樣,如在web瀏覽器中執行是對的,cli下執行是錯的。這時候可能是2個環境加載的php.ini不同所致。cli下通過php -i |grep php.ini得到加載了哪個php.ini。而fpm下通過phpinfo()函數可以得到php.ini的絕對路徑。
  • 雲伺服器上如何搭建php環境
    雲伺服器上如何搭建php環境?PHP是一種在伺服器端執行的開源腳本語言,與C語言類似,是常用的網站程式語言。 PHP 有很多版本,這裡我們以PHP 5.4為例。介紹下如何在 Linux 系統雲伺服器中安裝 PHP 源碼包。
  • 如何使用PHP和PEAR進行不同時區的轉換
    在PHP中,您可以簡單地使用data()函數讀取伺服器的時鐘並以指定的格式進行顯示;但是如果您所要顯示的時間是不同時區的,比如,您的公司和伺服器位於不同的國家,您需要看到的是本地時間而不是當地時間。  因此,您需要計算出兩地的時差,並進行一些計算從而在不同的時區中進行調整,如果時差很重要,您還需要考慮到日期變更、夏令時、月底的最後一天以及閏年的限制等等。
  • 2020 PHP面試題(附帶答案)
    1、http無狀態協議,不能區分用戶是否是從同一個網站上來的,同一個用戶請求不同的頁面不能看做是同一個用戶。2、SESSION存儲在伺服器端,COOKIE保存在客戶端。Session比較安全,cookie用某些手段可以修改,不安全。Session依賴於cookie進行傳遞。禁用cookie後,session不能正常使用。
  • 1.PHP網站後門
    而php做為一門動態語言,其靈活性很高,因此一直以來 Webshell 的繞過與檢測之間不斷的產生著化學反應。Webshell 繞過的本質其實是針對不同的檢測給予不同的繞過方式,因此想要學會繞過,首先要了解 Webshell 是如何檢測的。
  • 從Web查詢資料庫之PHP與MySQL篇
    PHP+MySQL的組合是構建網站的一個常見搭配,不過如何使用PHP通過Web訪問MySQL資料庫呢?下面從Web資料庫架構的工作原理講起。
  • 原理+實踐掌握(PHP反序列化和Session反序列化)
    session是如何起作用的當第一次訪問網站時,Seesion_start()函數就會創建一個唯一的Session ID,並自動通過HTTP的響應頭,將這個Session ID保存到客戶端Cookie中。同時,也在伺服器端創建一個以Session ID命名的文件,用於保存這個用戶的會話信息。
  • PHP一些常見的漏洞梳理
    這個調用過程稱為文件包含。為了使代碼更靈活,將被包含的文件設置為變量用來進行動態調用。這就導致客戶端可以調用一個惡意文件,造成文件包含漏洞。文件包含漏洞在php中居多。c=1.txt%00注意:%00截斷包含適合php版本<5.3.4,對應版本的配置文件magic_quotes_gps=off,才能夠進行繞過,否則%00會被轉義。
  • PHP網站開發遇到的中文編碼
    早期的軟體(尤其是作業系統),為了解決本地字符信息的計算機處理,出現了各種本地化版本(L10N),為了區分,引進了 LANG, Codepage 等概念。但是由於各個本地字符集代碼範圍重疊,相互間信息交換困難;軟體各個本地化版本獨立維護成本較高。因此有必要將本地化工作中的共性抽取出來,作一致處理,將特別的本地化處理內容降低到最少。這也就是所謂的國際化(118N)。
  • 「技術視界」網站防入侵,如何檢測webshell?
    世界上沒有絕對安全的系統當一名黑客獲得你的訪問控制權限他可以操作你的伺服器你的資料庫,你的後臺甚至,你的一切……網站被入侵了?辦案人員常常接到這樣的案件:某單位網站遭黑客入侵,被非法上傳webshell,首頁被修改,系統功能不能正常使用,網站目錄下面被上傳了大量的asp、php、htm的頁面,網站資料庫數據被竊取,黑客還赤裸裸的留下大名。
  • php面試題之—PHP核心技術(高級部分)
    注意,在php5.3以上版本,safe_mode被棄用,在php5.4以上版本,則將此特性完全去除了。4.抓取遠程圖片到本地,你會用什麼函數?(51.com筆試題)file_get_contents或者curl5.PHP的垃圾收集機制是怎樣的(騰訊)PHP可以自動進行內存管理,清除不再需要的對象。
  • Word如何將不同頁面設置不同的水印?
    word如何將不同的頁面設置不同的水印,這個原理就是將不同的頁面分成不同的節,然後斷開連結,再插入不同的水印就可以了。下面就來給大家操作一下。1.首先我們準備將兩個頁面添加不同的水印,怎麼辦呢?6.這個時候就可以分別插入不同的文字了,變成不同的水印了。