本文目錄一覽:
apache 綁定 php 問題
掌握如何配置能讓Apache載入php,給php運行提供平台
第一種:如果php是綠色版本安裝,就需要修改Apache安裝目錄下conf文件夾里 的httpd.conf,添加如下代碼(一般在最後):
LoadModule php5_module “php安裝路徑/php5apache2_2.dll”
FilesMatch “\.php$”
setHandler “application/x-httpd-php”
/FilesMatch
第二種:非綠色版本的php,在安裝php的過程中選擇一下Apache的安裝路徑,系統會自動向Apache安裝目錄下conf文件夾里的httpd.conf文件里加入以上代碼
apache配置PHP
怎樣配置PHP+APACHE+MYSQL 使用軟體: mysql4.0以上版本 apache_2.0.53-win32-x86-no_ssl.msi php-5.0.3-Win32.zip mysql可以安裝在C盤默認的目錄下。我習慣是把apache和php 放在d:\php\apache d:\php\php 安裝過程:一。apache 基本next下來。中間的部分隨便填。安裝好了以後,輸入能看到一個apache的測試頁面。(這個頁面在htdos目錄裡面,以後若是把其他的放在這個裡面可以把index.html都刪掉)注意的是如果系統有IIS,則必須把IIS的埠換掉,比如換成8081。要保證只有apache佔有80埠。 二。模塊化安裝PHP 解壓縮PHP包,改文件夾名PHP到d:\php目錄下。找到php.ini-rem什麼的,把它名字改成php.ini 將其拷到apache安裝目錄下,即路徑為D:\php\Apache2(注意我的apache版本是2)修改apache目錄下的.php.ini文件。 查找extension_dir,講其路徑修改為”d:/php/php/ext” 查找display_errors 值修改為on 查找php_gd2.dll 去掉分號 查找cgi.force_redirect 把分號去掉,1改稱0 (有空格的話看起來不規範) 查找defaultcharset 去掉分號,iso-8859-1改成gbk或者gb2312(也可以不改) 查找session.save_path 把/tmp改稱d:/php/php/tmp,然後在php目錄下建一個文件夾,文件夾名為tmp,去掉前面的分號回到php目錄,查找php5ts.dll複製到window下,或者複製到window/system32下面都可以 查找php5apache2.dll,複製到apache目錄下的modules里 (因為我apache版本是2.0) 打開http.conf,在文件末尾,另起一行輸入 loadmodule php5_module modules/php5apache2.dll 註:上面這樣寫重啟動Apache Http Server時會報錯,# httpd.conf 不能load php5apache2.dll ,要寫成 php5apache2_2.dll 另起一行輸入 addtype application/x-httpd-php .php 都保存,並且重新啟動apache伺服器。測試,輸入http;//localhost/1.php 1.php的內容為 hello,world! 2.php的內容為 ?php echo phpinfo(); ? 這個頁面顯示了一些配置的信息。 三.MYSQL 安裝mysql,一路next,記住要選中支持命令操作,打個勾。 cmd mysql -uroot -pyes (這次用的密碼是yes) create database axin; grant all on axin.* to axin identified by axin with grant option; source d:\llq1.sql; (存放的目錄是這個,依次導入) ————— 配置MYSQL 打開apache下的php.ini 查找extension=php_mysql.dll去掉前面的分號查找mysql.default_port = 後面改為3306 (mysql的埠號)查找mysql.default_host =值寫為localhost 查找mysql.default_user =值寫為root 查找mysql.default_password =改為我的密碼,這裡是yes 完畢保存,重啟apache。寫一個文件3.php 裡面的內容 ?php $link=mysql_connect(“localhost”,”root”,”yes”); if($link) echo “連接mysql成功”; else echo “連接失敗”.mysql_errors(); ? ——————最後測試一下把文件llq防在htdocs文件夾下面修改llqmis里inc文件里的用戶名和密碼,比如axin,axin6000 cmd mysql -uaxin -paxin6000 use axin; show tables; 就可以運行了,刪除一些不不要的index.php 於是,就可以運行了~~~ ========================= PS:存放php session值的文件夾可以隨便選擇路徑,不一定要在php和apache下 本文來自CSDN博客,轉載請標明出處:不明白再問我。很好,2011/9/26 23:32:05
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:
怎麼配置apache 使定時觸髮指定php腳本程序? – 技術問答
使用linux下的crontab命令即可,他的格式是
*
*
*
*
*
命令
*分別對應著分
時
日
月
周
最後的是你要執行的命令
,
這個命令只要寫清要執行
的腳本在哪即可比如說
/usr/src/apache2/conf/apachectl
等等
希望對你有所幫助。
原創文章,作者:OEDQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/132363.html