java以及php安裝環境(怎麼搭建php開發環境)

本文目錄一覽:

如何在Centos上搭建PHP+JAVA的服務器

一、需要解決中央控制端到各節點服務器之間的通信。

這個其實牽扯到一個通信協議的問題,各語言都有自己的socket,thread的庫,直接調用即可。但是這個通信協議就需要自己來完成了。既不能太簡單,太簡單了,明碼傳輸,如果別人獲知了這個接口,就很容易執行一些令人討厭的操作。也不能太複雜,太複雜了等於是給自己找麻煩,所以簡單的數據包編解碼的工作或者用token驗證的方式是需要的。通信協議起碼要兩種,一種是傳輸命令執行的協議,一種是傳輸文件的協議。

二、跨語言的socket通信

為什麼要跨語言,主控端和代理端通信,用什麼語言開發其實無所謂。但是為了給自己省事,儘可能使用服務器上已經有了的默認語言,Ambari前期採用php+puppet的方式管理集群,這不是不可以,puppet自己解決了socket通信協議和文件傳輸的問題,可你需要為了puppet在每台服務器上都安裝ruby。我是個有點服務器和代碼潔癖的人。光是為了一個puppet就裝個ruby,我覺得心裡特對不起服務器的資源。所以我自己寫了一個python的代理端。python是不管哪個linux系統在安裝的時候就都會有了。然後主控端的通信,可以用python實現,也可以用php實現,但是考慮到對於更多的使用者來說,改php可能要比改tornado簡單許多,所以就沒用python開發。hadoop分支版本眾多,發布出去,用戶要自己修改成安裝適合自己的hadoop發行版,就勢必要改源碼,會php的明顯比會python的多。php裡面的model封裝了所有的操作,而python只是個操作代理人的角色而已。

所以也延伸出一個問題,什麼語言用來做這種分布式管理系統的代理端比較合適,我自己覺得,也就是python比較合適了,操作系統自帶,原生的package功能基本夠用。用java和php也可以寫agent,但是你勢必在各節點預先就鋪設好jre或者php運行環境。這就跟為什麼用python和java寫mapred的人最多是一樣的。沒人攔着你用nodejs寫mapred,也可以寫,就是你得在每個節點都裝v8的解釋引擎,不嫌麻煩完全可以這樣干。原理參看map/reduce論文,不解釋。perl也是操作系統原生帶的,但是perl的可維護性太差了,還是算了吧。

所以這就牽扯到一個跨語言的socket問題,理論上來說,這不存在什麼問題。但這是理論上的,實際開發過程中確實存在問題,比如socket長連接,通信數據包在底層的封裝方式不同。我沒有使用xml-rpc的原因之一就是我聽說php的xmlrpc跟其他語言的xmlrpc有不同的地方,需要修改才能用,我就沒有用這種辦法。最早是自己定義的操作協議,這時就遇到了這些問題,所以後來直接採用了thrift方式。就基本不存在跨語言的socket通信問題了。

三、代理端執行結果的獲取

無論命令還是文件是否在代理端執行成功,都需要獲取到執行結果返回給中央端。所以這裡也涉及一個讀取節點上的stdout和stderr的問題。這個總體來說不是很難,都有現成的包。當然這個時候你需要的是阻塞執行,而不能搞異步回調。

還有個問題是,我要儘可能使用python默認就帶的包,而盡量不讓服務器去訪問internet下載第三方的包。

還有代理端最重要的一點,就是python的版本兼容性。centos5用python 2.4,centos6用python 2.6,ubuntu基本默認都是2.7。所以一定要最大限度的保證語言的跨版本兼容性。

關於在php環境的服務器中配置java環境的問題,請教各位大神~~!

你是windows的話 那就找bin下面的那個.bat文件唄

或者 windows安裝tomcat我記得可以註冊成服務 有個exe文件的 那個可以啟停服務器的 哪裡可以設置classpath 賬戶密碼等

如何搭建一個java和php共用的開發環境?

1、通常Java做後台,php做前台,這兩部分分離。java提供接口供前台調用,例如返回xml或json格式數據,供php去處理;

2、如果要高級一點,php可以內嵌jvm,不過擴展性不是很好,適合小一點的應用。

北大青鳥java培訓:什麼是PHP編程開發?

隨着互聯網的不斷發展,PHP編程開發被眾多培訓機構所推崇,由於難度相較於java編程來說更容易,所以PHP編程開發也是有很大的市場的。

今天,四川IT培訓就一起來聊聊什麼是PHP編程開發。

PHP變量[success]PHP是一種創建動態交互性站點的強有力的服務器端腳本語言。

PHP是免費的,並且使用非常廣泛。

同時,對於像微軟ASP這樣的競爭者來說,PHP無疑是另一種高效率的選項。

PHP腳本在服務器上執行。

PHP吹吹牛什麼是PHP?PHP是”PHPHypertextPreprocessor”的字母縮略詞PHP是一種被廣泛使用的開源腳本語言PHP腳本在服務器上執行PHP沒有成本,可供免費下載和使用什麼是PHP文件?PHP文件能夠包含文本、HTML、CSS以及PHP代碼PHP代碼在服務器上執行,而結果以純文本返回瀏覽器PHP文件的後綴是”.php”PHP能夠做什麼?PHP能夠生成動態頁面內容PHP能夠創建、打開、讀取、寫入、刪除以及關閉服務器上的文件PHP能夠接收表單數據PHP能夠發送並取回cookiesPHP能夠添加、刪除、修改數據庫中的數據PHP能夠限制用戶訪問網站中的某些頁面PHP能夠對數據進行加密通過PHP,您可以不受限於只輸出HTML。

您還能夠輸出圖像、PDF文件、甚至Flash影片。

您也可以輸出任何文本。

PHP運行環境安裝PHP腳本需要PHP解析器來才能運行,所以需要在服務器安裝PHP.Linux下安裝PHP環境Linux+Apache+MySQL+PHP(LAMP)Windows下安裝PHP環境Windows+Apache+MySQL+PHP(WAMP)集成環境:Wampserver,phpstudyPHP標記當解析一個文件時,PHP會尋找起始和結束標記,也就是,這告訴PHP開始和停止解析二者之間的代碼。

此種解析方式使得PHP可以被嵌入到各種不同的文檔中去,而任何起始和結束標記之外的部分都會被PHP解析器忽略。

PHP也允許使用短標記,但不鼓勵使用。

只有通過激活php.ini中的short_open_tag配置指令或者在編譯PHP時使用了配置選項–enable-short-tags時才能使用短標記。

如果文件內容是純PHP代碼,好在文件末尾刪除PHP結束標記。

這可以避免在PHP結束標記之後萬一意外加入了空格或者換行符,會導致PHP開始輸出這些空白,而腳本中此時並無輸出的意圖。

注意點,在圖片輸出中可能遇到問題.

同一服務器安裝java與PHP 共用80端口 怎麼安裝?java與PHP是兩個單獨的網站,還有我安裝完後java網站程序

引用

因為在做垂直搜索工作中,使用的是java編寫的一個搜索類庫。做垂直搜索,很多實用要使用到配置。當搜索的信息量大時,網站的更新。搜索程序的配置維護是一個不可忽視的問題。所以用了php做網頁,提供配置界面,這樣就可以不用直接修改配置文件或是配置數據庫表。當把配置信息配置好了,我們需要檢測配置是否正確,因為使用的是java程序,所以檢測配置的正確與否使用的也是java程序來檢測。這裡就存在一個問題,就是需要把php頁面上的信息傳入到java程序中去檢測。這個時候就需要php和java通信了。下面我就來介紹下怎麼使php跟java通信(當然,你也可以使用類似webservice等技術)也就是php中調用java程序。 php要調用java程序:需要以下準備,php程序,java程序,還有就是shell程序或是bat程序。下面分別介紹下在linux服務器下php調用java程序和在windows服務器下調用java程序。前提是php,apache,jdk的環境都已經配置好。

一 在linux下php調用java程序是通過shell文件。分別是以下三個文件: test_shell.php test_shell.java test_shell.sh 他們的源代碼如下:

1.test_shell.java程序代碼

public class test_shell {

public static void main(String[] args) {

System.out.println(“你輸入的參數是:”+args[0]+”t”+args[1]);

}

}

2.test_shell.php程序代碼

?php

/*

* 該函數是用來執行shell命令的,其實還可以使用:exec(),system(),

* popen()和pclose(),passthru() 函數。最長用的是前面兩個和例中使

* 用的shell_exec()。

*/

$args1=”我喜歡你”;

$args2=”我很愛你”;

// 注意空格

$r=shell_exec(“./test_shell.sh $args1 $args2”);

echo $r;

?

3.test_shell.sh程序代碼是

#!/bin/sh

JAVA_HOME=/usr/local/jdk

CLASSPATH=.:/usr/local/jdk/jre/lib/rt.jar:/usr/local/apache/htdocs/test_shell/test_shell.class

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH

cd /usr/local/apache/htdocs/test_shell

java test_shell

#shell代碼結束

以下是三個程序的存放路徑和運行次序。

1.三個文件都必須在同一目錄下,比如在/usr/local/apache/htdocs/test_shell/下,不然php很難調到java程序。

2.把test_shell.java程序編譯成test_shell.class,然後把test_shell.class文件存放到CLASSPATH中。如果系統配置了那些環境變量,這裡在配置一次是沒有壞處的,也不會影響配置好的系統環境變量。這裡設置的好處是當沒有配置jdk環境配置,只有jre時,則需把jre放到/usr/local/jdk下就以。

二、下面先介紹在windows服務器下,php調用java程序是通過bat文件來的。分別是以下三個文件: test_bat.php test_bat.java test_bat.sh 他們的源代碼如下:

1.java程序

public class test_bat {

public static void main(String[] args) {

System.out.println(“你輸入的參數是:”+args[0]+”t”+args[1]);

}

}

2.test_bat.php程序代碼

?php

/*

* 該函數是用來執行shell命令的,其實還可以使用:exec(),system(),

* popen()和pclose(),passthru() 函數。最長用的是前面兩個和例中使

* 用的shell_exec()。

*/

$args1=”我喜歡你”;

$args2=”我很愛你”;

// 注意空格

$r=shell_exec(“./test_shell.sh $args1 $args2”);

echo $r;

?

3.test_bat.sh程序代碼是

@echo off

set path=%path%;%cd%jrebin

set CLASSPATH=.;%cd%jrelibrt.jar;%cd%test_bat.class

java test_bat %1 %2

#bat代碼結束

1.三個文件都必須放在同一目錄下,比如在/usr/local/apache/htdocs/test_bat/下,不然php很難調到java程序。

2.把test_bat.java程序編譯成test_bat.class,然後把test_bat.class文件存放到CLASSPATH中。如果系統配置了那些環境變量,這裡在配置是沒有壞處的,也不會影響配置好的系統環境變量。這裡設置的好處是當沒有配置jdk環境配置,只有jre時,則需把jre放到跟跟test_bat.java同一目錄下就行了。

三、上面兩個例子中,test_shell.sh用的絕對路徑,test_bat.bat是用的相對路徑。不管是絕對還是相對,只要路徑對了就行了。

很急的問題:怎麼安裝PHP和Apache(具體哪個版本)和JAVA,然後怎樣配置,我用的是Win7.請高手幫個忙,謝謝.

裝一個wampserver吧,集成了php和apache,版本還比較高,web開發的話,java裝個1.6的jdk,然後裝個myeclipse,很好用,java只要配置下jdk就可以了,網上一大堆,wampserver配置我給你個地址,;do=blogid=55694,我自己寫的日誌,我現在也剛開始弄php

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/258490.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:50
下一篇 2024-12-15 12:50

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論