PHP 日本會議 2024
新增註解

使用者貢獻註解 8 個註解

15
jaw at jawspeak dot com - Jonathan Andrew Wolte
17 年前
務必在 php.ini 檔案中使用雙引號。例如

(為了方便閱讀而斷行)

這會起作用
# xdebug 除錯
zend_extension="/usr/local/php5/lib/php/extensions
/no-debug-non-zts-20060613/xdebug.so"

這不會
# xdebug 除錯
zend_extension='/usr/local/php5/lib/php/extensions
/no-debug-non-zts-20060613/xdebug.so'

您會收到這個錯誤
Failed loading '/usr/local/php5/lib/php/extensions/
no-debug-non-zts-20060613/xdebug.so': (null)

所以...雙引號才是正解!我知道這很明顯,但這是關於 php.ini 檔案值得記住的好事。
12
alvaro at demogracia dot com
17 年前
關於 Apache 2.0 模組

不管是什麼原因,PHP/5.2.3 的 Windows 安裝程式會嘗試使用 "\\" 作為目錄分隔符號來設定 PHPIniDir 指令

PHPIniDir "C:\\Archivos de programa\\PHP\\"

在我編輯 httpd.conf 並將其替換為 "/" 之前,這對我不起作用

PHPIniDir "C:/Archivos de programa/PHP/"
11
henrick at streamsec dot se
17 年前
為了讓 PHP 5.2 穩定地在 Windows Server 2003 x64 (IIS 6.0) 上執行,我發現了三件事(除了上面的其他評論)

* 有些 PHP 網路應用程式會使用 SCRIPT_NAME 伺服器變數,該變數在 CGI 下不可用。您必須使用 php5isapi.dll,這是一個 32 位元 dll,因此您必須以 32 位元模式執行 IIS。請參閱 http://support.microsoft.com/kb/894435. 這適用於所有 ISAPI 擴充功能,而不僅僅是 ASP.NET。

* 看起來您必須將 php.ini 中的 doc_root 項目留空。至少,這是最終讓我的安裝工作正常運作的原因。(請注意,其他人建議將其設定為例如 C:\inetpub\wwwroot 或類似的路徑。如果您的伺服器託管多個網域,每個網域都放置在不同的目錄中,則此方法將不起作用。)

* 如果您例如使用 MySQL,則必須編輯 php.ini。為了能找到它,您必須設定 PHPRC 系統環境變數或登錄項目。請注意,如果您使用 regedit.exe 編輯登錄,則 PHP 金鑰應放置在 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node] 金鑰下。如果您使用 32 位元舊版應用程式進行設定,則會自動發生這種情況。
8
goran
11 年前
若要在 centos (至少) 上執行單獨的 apache 和 php 程序,而不必
為每個執行個體編譯和安裝單獨的版本
這應該可以起作用

使用 yum 安裝 apache 和 php。

這會給您 (對於第一個執行個體)

/etc/httpd/*, /etc/sysconfig/httpd, /etc/init.d/httpd, /etc/php.ini
和 /etc/php.d/*。

將所有這些東西複製到
/etc/httpd2/*, /etc/sysconfig/httpd2, /etc/init.d/httpd2, /etc/php2.ini
和 /etc/php2.d/*。

然後

編輯 /etc/httpd2/* 中的 apache 設定檔,以反映新的
您希望此 apache 監聽的連接埠 (別忘了 conf.d 下的 ssl.conf)
和任何其他不同的設定,例如日誌檔
目的地和虛擬主機。

針對您希望其他 php 執行的任何特定設定編輯 php2.ini
執行個體擁有。

若要在此新的 apache 執行個體中擁有一個完全獨立的 php,其中包含其自己的
包含的模組,請編輯 /etc/sysconfig/httpd2 並新增以下內容

PHPRC=/etc/php2.ini
export PHPRC
PHP_INI_SCAN_DIR=/etc/php2.d
export PHP_INI_SCAN_DIR

這將在第二個 apache/php 之前設定環境變數
執行個體已啟動。

然後編輯 /etc/init.d/httpd2 並將所有對 httpd 的引用變更
(例如 lockfile、pidfile 和 sysconfig) 到 httpd2。不過,別動
可執行檔名稱 :)

並變更此

LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS

為此

LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd -f /etc/httpd2/conf/httpd.conf $OPTIONS

.. 這樣此 apache 才能找到自己的設定檔。

然後,如果需要,請執行 'chkconfig --add /etc/init.d/httpd2' 以使其
在啟動時啟動,您應該會有兩個具有兩個獨立的 apache 執行個體
php 模組,並具有其自己的專用設定。
8
randy AT rcs-comp DOT com
19 年前
(從另一個頁面複製)
請注意,SetEnv PHPRC "directory/to/phpini/" 僅在使用 PHP 作為 CGI 時有效,但在您使用 PHP Apache 模組時無效!
8
c dot affolter at stepping-stone dot ch
18 年前
對於那些想要使用 PHPRC 環境變數的人
您必須指定包含 php.ini 的目錄路徑,而不是 php.ini 的直接路徑。

範例 (php.ini 位於 /your/path/php.ini 中)
正確
export PHPRC=/your/path

錯誤
export PHPRC=/your/path/php.ini
7
salivatears at gmail dot com
14 年前
對於具有有限檔案權限的 Windows (Windows XP)

1. 將 Apache 安裝在您的設定檔資料夾 "C:\Documents and Settings\your_profile" 中

2. 將下列指令新增至您的 httpd.conf
PHPINIDir "C:\Documents and Settings\your_profile\php"

LoadModule php5_module "C:\Documents and Settings\your_profile\php\php5apache2_2.dll"

AddType application/x-httpd-php .php

3. 編輯您的 php.ini 中的下列指令
extension_dir = "C:\Documents and Settings\your_profile\php\ext"

4. 將檔案 libmysql.dll 從 C:\Documents and Settings\your_profile\php\ 移動到 C:\Documents and Settings\your_profile\php\ext\

5. 使用命令列重新啟動 httpd
7
cduke420 at gmail dot com
17 年前
[ 當 php 作為 Apache 模組執行時 ]
DOCUMENT_ROOT .htaccess
+======================================+
SetEnv PHPRC /home/user/dir-containing-phpinifile
+======================================+

[ 當 php 作為 CGI 執行時 ]
將您的 php.ini 檔案放置在您 cgi 的 php 二進位檔目錄中,在此案例中為 /cgi-bin/
DOCUMENT_ROOT .htaccess
+======================================+
AddHandler php-cgi .php .htm
Action php-cgi /cgi-bin/php5.cgi
+======================================+

[ 使用包裝函式 (適用於 FastCGI) 作為 cgi 執行的 PHP ]
您的包裝函式指令碼應該看起來像
+======================================+
#!/bin/sh
export PHP_FCGI_CHILDREN=3
exec /user/htdocs/cgi-bin/php.cgi -c /home/user/php.ini
+======================================+

原始文章
http://www.askapache.com/2007/php/custom-phpini-tips-and-tricks.html
To Top