apache運行特定php函數(phpapache)

本文目錄一覽:

怎麼在apache中運行php文件

安裝php,從php官網下載php安裝包。配置好php環境。(或者使用ampz,phpstudy這些軟件便捷安裝php以及Apache服務器環境)

將php文件放在網站根目錄下。

打開瀏覽器在地址欄中鍵入Localhost或者127.0.0.1,即可運行瀏覽你的php程序這樣試試吧?你看過後很簡單吧以後不會可以向我一樣經常到後盾人平台找找相關教材看看就會了,希望能幫到你,給個採納吧謝謝 ∧_∧

(・∀・)

( ∪ っ

 ) ) )

(_(_)

弱弱的問下,如何在apache下運行php程序

1、如果你只是測試用,apache/php/mysql都沒必要自己裝,直接下載一個apmserv這樣的軟件,綠色的,一鍵啟動這些程序。

2、默認的網站根目錄是在apache安裝目錄下的htdocs文件夾下,把你的網站放那去就行了,也可以確認一下,打開apache安裝目錄下的conf文件夾,用記事本之類打開httpd.conf,搜索一下DocumentRoot,看看它的值在哪,那個就是網站根目錄。

mac apache環境 運行php

mac 自帶環境 打開終端 輸入 sudo apache -v 和php -v 即可查看版本

啟動apache

sudo apachectl start  Mac自帶的Apache啟動了 在瀏覽器輸入“”,會顯示“It works!”,說明服務器已經啟動成功了。Apache默認根目錄在“/Library/WebServer/Documents/”下。

配置文件(httpd.config)保存在/etc/apache2

修改配置文件  sudo vi /etc/apache2/httpd.conf 

將默認目錄/Library/WebServer/Documents 替換成自己需要的目錄

LoadModule php7_module libexec/apache2/libphp7.so 將前面的# 去掉

運行localhost 會報錯:You don’t have permission to access / on this server.

這時修改下apache的配置文件httpd.conf:

AllowOverride None

Require all granted

Order deny,allow

Allow from all

然後 sudo apachectl configtest  查看是否修改成功

配置虛擬機 

在配置文件httpd.conf的最後一行  並cd 進去  再 vi 進vhosts.conf文件

接着來到下圖 我們可以設置我們拉下來的項目的serverName

修改host文件  sudo vi /etc/hosts

接着在瀏覽器地址 輸入我們項目的servername 即可訪問

如果沒有成功 一般是緩存原因 換個瀏覽器  或者清除緩存 關閉瀏覽器程序 並重啟

(以後增加項目 改servername 谷歌有緩存 記得關閉再重啟)

一般命令

sudo apachectl start #啟動服務器

sudo apachectl restart 重啟

sudo apachectl -v 查看服務器版本

sudo apachectl stop #關閉服務器

sudo vi /etc/apache2/httpd.conf  輸入密碼 進行配置文件修改

sudo apachectl configtest 查看更改是否成功

默認命令行 i 插入模式  esc退出模式

:wq! 保存和退出 (!表示強制修改) 要在英文模式下輸入

:w 保存

:q退出 

:q! 強制退出 (誤改了東西 強制退出 就不會保存)

命令模式下 /content    查找(n查找下一個)

第一步 配置虛擬機

cd /private/etc/apache2/other

vi vhosts.conf

第二步 更改指向

sudo vi /etc/hosts

報錯:

E325: ATTENTION

Found a swap file by the name “/var/tmp/vhosts.conf.swp”

原因:

其一,是當前有其他的進程正在對相同的文檔進行編輯;

其二,之前的編輯會話被銷毀了(crashed)(也就是說,你上次編輯的時候,沒有保存就強制離開了。)

原理:

我們在編輯文件的時候,並不是對原有文件進行修改和覆蓋的,而是新建一個副本,名字叫xx.swp,我們對文件的編輯都放在了這個副本裡面,這也是為什麼我們能進行撤銷的原因,我們並沒有對原有的文件進行修改。當我們正常退出時,這個文件就正常消失,而當我們異常退出時,這個文件就會作為隱藏文件,當我們下次啟動vim時,它就會提示我們上次編輯時,有一個文件異常退出了,是否要進行恢復。也就是彈出E325錯誤。當我們異常退出時,這個隱藏文件會幫助我們還原到上次編輯的狀態。也就相當於是一個自動保存的功能。

解決辦法:

進入/var/tmp/vhosts.conf.swp  並將這個文件刪除

Apache需要將php文件交給PHP解釋器處理後再 返回給瀏覽器,那PHP如何運行的呢?

1.我們從未手動開啟過PHP的相關進程,它是隨着Apache的啟動而運行的;

2.PHP通過mod_php5.so模塊和Apache相連(具體說來是SAPI,即服務器應用程序編程接口);

3.PHP總共有三個模塊:內核、Zend引擎、以及擴展層;

4.PHP內核用來處理請求、文件流、錯誤處理等相關操作;

5.Zend引擎(ZE)用以將源文件轉換成機器語言,然後在虛擬機上運行它;

6.擴展層是一組函數、類庫和流,PHP使用它們來執行一些特定的操作。比如,我們需要mysql擴展來連接MySQL數據庫;

7.當ZE執行程序時可能會需要連接若干擴展,這時ZE將控制權交給擴展,等處理完特定任務後再返還;

8.最後,ZE將程序運行結果返回給PHP內核,它再將結果傳送給SAPI層,最終輸出到瀏覽器上。

怎麼配置apache 使定時觸髮指定php腳本程序? – 技術問答

使用linux下的crontab命令即可,他的格式是

* * * * * 命令 *分別對應着分 時 日 月 周 最後的是你要執行的命令 ,

這個命令只要寫清要執行 的腳本在哪即可比如說 /usr/src/apache2/conf/apachectl 等等

希望對你有所幫助。

PHP運行於Apache 模塊方式

當使用 PHP 作為 Apache 模塊時,也可以用 Apache 的配置文件(例如 httpd.conf)和 .htaccess 文件中的指令來修改 PHP 的配置設定。需要有“AllowOverride Options”或“AllowOverride All”權限才可以。

有幾個 Apache 指令可以使用戶在 Apache 配置文件內部修改 PHP 的配置。哪些指令屬於 PHP_INI_ALL,PHP_INI_PERDIR 或 PHP_INI_SYSTEM 中的哪一個,請參考附錄中的 php.ini 配置選項列表。

php_value name value

設定指定的值。只能用於 PHP_INI_ALL 或 PHP_INI_PERDIR 類型的指令。要清除先前設定的值,把 value 設為 none。

Note: 不要用 php_value 設定布爾值。應該用 php_flag(見下面)。

php_flag name on|off

用來設定布爾值的配置指令。僅能用於 PHP_INI_ALL 和 PHP_INI_PERDIR 類型的指令。

php_admin_value name value

設定指定的指令的值。不能用於 .htaccess 文件。任何用 php_admin_value 設定的指令都不能被 .htaccess 或 virtualhost 中的指令覆蓋。要清除先前設定的值,把 value 設為 none。

php_admin_flag name on|off

用來設定布爾值的配置指令。不能用於 .htaccess 文件。任何用 php_admin_flag 設定的指令都不能被 .htaccess 或 virtualhost 中的指令覆蓋。

Example #1 Apache 配置例子

IfModule mod_php5.c

php_value include_path “.:/usr/local/lib/php”

php_admin_flag engine on

/IfModule

IfModule mod_php4.c

php_value include_path “.:/usr/local/lib/php”

php_admin_flag engine on

/IfModule

Caution

PHP 常量不存在於 PHP 之外。例如在 httpd.conf 中不能使用 PHP 常量如 E_ALL 或 E_NOTICE 來設定 error_reporting 指令,因為其無意義,實際等於 0。應該用相應的掩碼值來替代。這些常量可以在 php.ini 中使用。

通過 Windows 註冊表修改 PHP 配置

在 Windows 下運行 PHP 時,可以用 Windows 註冊表以目錄為單位來修改配置。配置值存放於註冊表項 HKLM\SOFTWARE\PHP\Per Directory Values 下面,子項對應於路徑名。例如對於目錄 c:\inetpub\wwwroot 的配置值會存放於 HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot 項下面。其中的設定對於任何位於此目錄及其任何子目錄的腳本都有效。項中的值的’名稱是 PHP 配置指令的名字,值的數據是字符串格式的指令值。值中的 PHP 常量不被解析。不過只有可修改範圍是 PHP_INI_USER 的配置值可以用此方法設定,PHP_INI_PERDIR 的值就不行。

其它接口下的 PHP

無論怎樣運行 PHP,都可以在腳本中通過 ini_set() 而在運行時修改某個值。更多信息見手冊中 ini_set() 的頁面。

如果對自己系統中的配置設定及其當前值的完整列表感興趣,可以運行 phpinfo() 函數並查看其結果的頁面。也可以在運行時用 ini_get() 或 get_cfg_var() 取得個別配置指令的值。

add a note add a note

User Contributed Notes 13 notes

up

down

3 Anteaus ?2 years ago

One of the most serious problems here is that it is hard to determine programmatically which of three or more possible configuration methods (php.ini, .user.ini, .htaccess) should be used on any given hosting company’s server.

The worst outcome is if an install.php routine attempts to set .htaccess directives on a cgi-mode server, in which case the outcome is usually a ‘500’ crash. Once in that situation the php installation routine cannot be rerun to correct the problem, so you effectively have a hosting lockout situation which can only be corrected by manual intervention.

up

down

-2 contrees.du.reve at gmail dot com ?9 years ago

Being able to put php directives in httpd.conf and have them work on a per-directory or per-vitual host basis is just great. Now there’s another aspect which might be worth being aware of:

A php.ini directive put into your apache conf file applies to php when it runs as an apache module (i.e. in a web page), but NOT when it runs as CLI (command-line interface).

Such feature that might be unwanted by an unhappy few, but I guess most will find it useful. As far as I’m concerned, I’m really happy that I can use open_basedir in my httpd.conf file, and it restricts the access of web users and sub-admins of my domain, but it does NOT restrict my own command-line php scripts…

up

down

-3 nick at vistaworks dot net ?4 years ago

On Windows, as the documentation above states, you cannot set max_upload_filesize and post_max_size in the registry, because they are PHP_INI_PERDIR.

Confusingly, however, is the fact that phpinfo() will show your changes if you do add those to the regsitry, as if they were taking effect. However, the upload size is *not* changed, regardless of what phpinfo() reports.

I believe the reading of registry values and override happen ‘too late’ in the request processing, ie, after the file has already been uploaded and rejected.

In a perfect world, phpinfo() would recognize this and not report the overridden values, which is very confusing.

up

down

-4 Woody/mC ?9 years ago

@ pgl: As the documentation says:

“To clear a previously set value use none as the value.”

Works fine for me.

up

down

-6 user at NOSPAM dot example dot com ?5 years ago

PHP Constants will work with php_value; for example:

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

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

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

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

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

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • 分段函數Python

    本文將從以下幾個方面詳細闡述Python中的分段函數,包括函數基本定義、調用示例、圖像繪製、函數優化和應用實例。 一、函數基本定義 分段函數又稱為條件函數,指一條直線段或曲線段,由…

    編程 2025-04-29

發表回復

登錄後才能評論