1. 程式人生 > >前後端開發(1):啟用PHP程式

前後端開發(1):啟用PHP程式

當我們說php時,你可能想到的是最好的語言,php是最好的語言,這個沒有問題,拒絕反駁。但是,php既可以是指令碼語言,也可以是一個程式--一個可以解釋php指令碼的程式,本文指後者。

PHP原本是Personal Home Page(個人首頁)的縮寫,但現在,PHP是“PHP:Hypertext Preprocessor”的縮寫,即每個單詞的首字母,類似這種用名字的每個字母寫出一句話的定義還有很多,比如:Bing(Bing is not google)、PNG(PNG's not gif)、GNU(GNU's Not Unix)等等。

從名字定義來看,PHP就是超文字前處理器。PHP是一個程式,而所謂“預處理”,是指PHP程式處理PHP程式碼後,只是輸出內容(比如html靜態頁面,也可以不輸出),最終由瀏覽器來解析顯示,所以PHP只是“預處理”,並非執行出結果。

那麼,如何使用PHP程式?

本文介紹如何啟用PHP程式,並實現簡單的請求。

PHP在實用中一般作為服務後臺的指令碼語言解析器,它與apache、iis等程式的關係是這樣的:

再次強調,上圖中的“PHP程式”不是指php指令碼,而是指php指令碼的解析器。

如圖所示,一般要通過其它程式來啟用PHP程式,這個角色一般就是web伺服器。

小程使用的是mac電腦,而macos自帶apache跟PHP,可以檢視它們的版本:

上圖的版本比較舊了,實際上小程在2018年又更新了版本。

再說下apache,它是一個web伺服器,可以用來啟用PHP(指令碼解析器)。注意,apache是一個程式,php是另一個程式,他倆是不是要合作,由你來決定,你來決定怎麼搭配,我這裡決定用apache呼叫php。

那麼,有必要先了解apache的使用情況。

(1)apache的使用

小程演示一下apache的啟動與檢驗:

apache的安裝目錄(/private/etc/apache2)以及配置檔案(httpd.conf):

開啟配置檔案,可以查詢到apache定義專案目錄的地方(可以修改這個目錄):

這時小程還沒有寫任何程式碼,這個路徑(/Library/WebServer/Documents)下面的內容是這樣的:

看到這些檔案後,小程可以通過curl命令或者瀏覽器直接請求(讀取)這些檔案,比如這樣:


這意味,如果小程在這個專案目錄下面建立一個PHP檔案,那也是可以請求到的。

(2)讓apache啟用PHP

很簡單,只要更改一個apache的配置檔案,就可以呼叫php,可以說apache已經考慮好全面支援php的使用。

把apache的配置檔案httpd.conf裡面的一句話解除註釋:

解除註釋後,可以重啟一下apache,讓它使用新的配置內容,再進行後續的驗證:

sudo apachectl restart

(3)測試PHP請求

也很簡單,在apache的專案目錄,寫一個test.php,然後在客戶端(可以是瀏覽器)請求這個檔案,那就會觸發apache呼叫php程式(來解釋test.php指令碼)。

比如,小程在專案目錄下面,寫了一個php檔案:

用瀏覽器請求這個php檔案,可以看到返回了php的資訊:

現在你已經可以寫php指令碼並通過apache來執行了(apche通過php程式)。

總結一下,本文介紹了在mac電腦上使用PHP程式的示例,涉及了一些PHP的基礎知識。類推,如果你擅長的是python等其它語言,那同樣可以使用apache來解析它們。


相關推薦

前後開發1啟用PHP程式

當我們說php時,你可能想到的是最好的語言,php是最好的語言,這個沒有問題,拒絕反駁。但是,php既可以是指令碼語言,也可以是一個程式--一個可以解釋php指令碼的程式,本文指後者。 PHP原本是Personal Home Page(個人首頁)的縮寫,但現在,PHP是“PHP:Hypertext Prepr

前後開發2瀏覽器與PHP程式的互動

上一節介紹怎麼在mac電腦上啟用PHP程式,並且演示了一個簡單的例子,這個例子執行時,涉及了瀏覽器、apache以及PHP程式的互動,這三者的關係大概是這樣的: 一般來說,瀏覽器(或者類似功能的程式)給apache(或者其它伺服器)傳送的資料稱作“表單”,表單就相當一個“介面”,小程覺得從“介面”入手去理

移動混合開發1和H5的javascript互動

最近公司專案開發中涉及到了大量的混合開發,這裡開一個系列,把開發中的經驗和遇到的問題和大家分享下 講到移動端的混合開發,繞不開的一個話題就是原生和Js的互動,關於iOS、Android怎麼和js互動,網上的資料很多,這裡先簡單介紹幾個方法。 js

以太坊ETH DAPP開發1實戰開發基於truffle

一、開發環境配置 1、硬體配置 2、依賴工具版本 ~/eth_workspace$geth version Geth Version: 1.8.18-stable Architecture: amd64 Protocol Versions: [63 62] Network Id:

java後開發開發框架解讀

前言 本篇講述後端開發中用到的主要框架,旨在瞭解框架的意義和種類 什麼是框架 我相信對於大部分開發人員來說,框架再熟悉不過了,但是要給未接觸過的人講明白恐怕是非常難的,本節的目的就是讓讀者對於框架有50%的認知,剩下的需要在實踐中體會。 框架與P

PX4開發1ubuntu下pixhawk開發環境搭建

1. 介紹 之前買了個330的四軸,最近想利用起來,所以買了個pixhawk來玩。pixhawk是開源的,所以想看看能不能在其基礎上開發出什麼。 要做開發首先要配置環境,由於官方推薦在linux環境下開發,所以這裡介紹ubuntu下pixhawk的開發環境配

iOS新浪微部落格戶開發1——新特性介面

轉載自:http://blog.csdn.net/chy305chy/article/details/43118361 看完了MJ老師的微博專案視訊,準備自己動手寫一下,記錄開發中的一些感想。 1、首先判斷是否第一次使用該版本,如果是,先跳轉到新特性介面,否則,直接跳

基於Python的微信開發1Hello World

需要安裝一個外掛,itchat。 pip install itchat 然後可以去“圖靈機器人”上註冊一個號,它具有自動回覆功能…… 圖靈機器人 新建一個機器人。 拿到APIkey以後,就可以

android開發1底部導航條的實現 | navigation tab

tom git 這一 cocoapod https android中 rip launcher href 底部導航條,在iOS中叫tabbar,在android中叫bottombar或bottom navigation,是一個常用的切換頁面的導航條。 同樣,如果有良好的第三

java後開發基本認知之web開發是什麼

前言   前兩篇都是和資料庫基本知識有關的: 資料表設計與mysql入門(一)和 資料表設計與mysql入門(二) 。邏輯上會設計資料表操作資料庫了,但是還需要結合實際專案去加深印象。但是往下走之前,我們有必要先了解一下java web開發的相關背景知識和基礎

微信開發1 網頁授權獲取使用者的基本資訊 實現微信登入java

微信開發(1) :網頁授權獲取使用者的基本資訊 實現微信登入 由於工作需要,最近進行微信開發,然而微信官方的文件,比較模糊。網上大多數,是PHP做的, 本文 使用java語言開發。(後續更新 java版的 微信開放平臺的 公眾號第三方平臺開發) 準備工

多執行緒開發1主執行緒,前臺執行緒,後臺執行緒,守護執行緒,子執行緒,託管執行緒的關係

1.主執行緒 當一個程式啟動時,就有一個程序被作業系統(OS)建立,與此同時一個執行緒也立刻執行,該執行緒通常叫做程式的主執行緒(Main Thread),因為它是程式開始時就執行的,如果你需要再建立執行緒,那麼建立的執行緒就是這個主執行緒的子執行緒。每個程序至少都有一個

iOS開發1設置APP的圖標與啟動圖 | iOS圖標的尺寸 | LaunchScreen的使用

覆蓋 自己 命名 -c 啟動圖 使用 不生效 分享 xcod 每個APP都應該有自己的圖標跟啟動圖。 這裏介紹怎麽設置iOS的APP的圖標跟啟動圖。 (1)圖標 小程的xcode是10.0版本,設置圖標的入口如下: 點擊入口後,進到設置頁面,如下: 可以看到有很多空位,

iOS逆向開發1基礎工具 | ssh | scp | soca

min pict password 簡化 基本 developer log 命令行 touch 小白:小程,我一直想問,什麽是逆向來著?是逆向行駛嗎? 小程:理解為逆向行駛也沒錯。一般的項目是從無到有,而逆向是從已有的狀態入手,分析出已有的流程與結構的手段。 iOS上的逆

Android音訊開發1基礎知識

Android音訊開發(1):基礎知識 導讀 人的說話頻率基本上為300Hz~3400Hz,但是人耳朵聽覺頻率基本上為20Hz~20000Hz。 對於人類的語音訊號而言,實際處理一般經過以下步驟: 人嘴說話——>聲電轉換——>抽樣(模數轉換)——>量化(將數字訊號用適當的數值表示)——&g

VC++深入詳解1MFC框架程式剖析

學了一段Win32SDK應用程式以後,因為種種雜七雜八的事情,讓windows程式設計的內容停滯了很長一段時間。但是我今天還是鼓足了勇氣,繼續開始後面的內容。(不過後面的筆記不再是跟著楊力祥老師的上課內容了,因為他對MFC的講解似乎課程剩下的不是很足,所以我換了孫鑫老師的聽

ActiveReports 9實戰教程1 手把手搭建好開發環境Visual Studio 2013 社區版

line tool mmu tin style textbox ble mil nts ActiveReports 9剛剛公布3天。微軟就公布了 Visual Studio Community 2013 開發環境。Visual Studio Community 2013

Python開發環境1Eclipse+PyDev插件

eclipse 默認 spa market 出現 package 得到 CP 所在 電腦:小米筆記本電腦Pro 15.6寸(i5-8250U),操作系統:Windows 10,JDK版本:1.8.0_152(環境變量已配置) Step 1.下載Eclipse 根據我的C

Qt與FFmpeg聯合開發指南——編碼1代碼流程演示

開啟 fault 原因 上下 sizeof ffmpeg 不同步 目前 直接 前兩講演示了基本的解碼流程和簡單功能封裝,今天我們開始學習編碼。編碼就是封裝音視頻流的過程,在整個編碼教程中,我會首先在一個函數中演示完成的編碼流程,再解釋其中存在的問題。下一講我們會將編碼功能進

JavaEE互聯網輕量級框架整合開發書籍閱讀筆記1Mybatis和Hibernate概念理解

bat 特定 定義 理解 緩存 面向 ont span 等待 一、關鍵字說明: oop:面向對象 aop:面向切面 ioc:控制反轉 orm:對象關系映射 pojo:數據庫表映射的java實體類 二、常識說明:1.hibernate和mybatis都屬於持久層、orm