2024年波兰PHPC
添加注释

用户贡献的笔记14条注释

jawspeak网站的下巴-乔纳森·安德鲁·沃尔特
16年前
确保在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-no-zts-2000613/xdebug.so'

您将收到以下错误:
加载“/usr/local/php5/lib/php/extensions失败/
no-debug-non-zts-20060613/xdebug.so':(空)

所以……双引号就是这样!我知道这很明显,但对于php.ini文件来说,这是一件值得记住的事情。
亨里克在streamsec dot se
17年前
为了让PHP 5.2在Windows Server 2003 x64(IIS 6.0)上稳定运行,我发现了三件事(除了上面的其他注释外):

*一些PHP web应用程序使用在CGI下不可用的SCRIPT_NAME服务器变量。您必须使用php5isapi.dll,这是一个32位dll,因此您必须以32位模式运行IIS。赋予http://support.microsoft.com/kb/894435。这适用于所有ISAPI扩展,而不仅仅是ASP。净利润。

*看起来您必须将php.ini中的doc_root条目留空。至少,这是我最终安装成功的原因。(请注意,其他人建议将其设置为例如C:\inetpub\wwwroot或等效值。如果您的服务器托管多个域,每个域都位于单独的目录中,那么这将不起作用。)

*例如,如果您正在使用MySQL,则必须编辑php.ini。为了找到它,必须设置PHPRC系统环境变量或注册表项。请注意,如果使用regedit.exe编辑注册表,则PHP键应放在[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node]键下。如果使用32位遗留应用程序进行设置,则会自动执行此操作。
戈兰
10年前
要在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监听的端口(不要忘记ssl.conf
conf.d下)和任何其他不同的设置,如日志文件
目的地和虚拟主机。

编辑php2.ini以获得其他php所需的任何特定设置
实例。

在这个新的apache实例中使用一个完全独立的php
包含的模块,编辑/etc/sysconfig/httpd2并添加以下内容:

PHPRC=/etc/php2.ini
出口PHPRC
PHP_INI_SCAN_DIR=/etc/php2.d
导出PHP_INI_SCAN_DIR

这将为第二个apache/php设置环境变量
实例。

然后编辑/etc/init.d/httpd2并将所有引用更改为httpd
(如lockfile、pidfile和sysconfig)到httpd2。不要触摸
但可执行文件名:)

并改变这一点:

LANG=$HTTPD_LANG守护进程--pidfile=${pidfile}$HTTPD$OPTIONS

为此:

LANG=$HTTPD_LANG守护进程--pidfile=${pidfile}$HTTPD-f/etc/httpd2/conf/HTTPD.conf$OPTIONS

..所以这个apache可以找到自己的配置文件。

然后,如果需要,可以使用“chkconfig--add/etc/init.d/httpd2”
在启动时,您应该有两个apache实例,其中有两个单独的实例
具有自己专用设置的php模块。
阿尔瓦罗在demogracia网站
16年前
关于Apache 2.0模块:

无论出于何种原因,PHP/5.2.3的Windows安装程序都会尝试使用“\\”作为目录分隔符来设置PHPIniDir指令:

PHPIniDir“C:\\Archivos de programa\\PHP\\”

直到我编辑了httpd.conf并将其替换为“/”,它才对我起作用:

PHPIniDir“C:/Archivos de programa/PHP/”
randy AT rcs-comp DOT com公司
19年前
(从另一页复制)
请注意,SetEnv PHPRC“directory/to/phpini/”仅在使用PHP作为CGI时有效,但在使用PHP Apache模块时无效!
gmail dot com上的cduke420
17年前
[当php作为Apache模块运行时]
DOCUMENT_ROOT.htaccess文件
+======================================+
SetEnv PHPRC/home/user/dir-containing-phpinifile(设置环境PHPRC/主页/用户/目录控制-phpinifile)
+======================================+

[当php作为CGI运行时]
将php.ini文件放在cgi的php二进制文件的目录中,在本例中为/cgi-bin/
DOCUMENT_ROOT.htaccess文件
+======================================+
添加处理程序php-cgi.php.htm
动作php-cgi/cgi-bin/php5.cgi
+======================================+

[PHP作为带包装器的cgi运行(对于FastCGI)]
包装器脚本应如下所示:
+======================================+
#!/垃圾桶/桶
导出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
gmail网站上的唾液
13年前
对于具有有限文件权限的窗口(windows XP)

1.在文件夹配置文件“C:\Documents and Settings\your_profile”中安装Apache

2.向httpd.conf添加以下指令
PHPINIDir“C:\Documents and Settings\your_profile\php”

加载模块php5_module“C:\Documents and Settings\your_profile\php\php5apache2_2.dll”

AddType应用程序/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:\Document and Settings\your_proile\php\ext\

5.使用命令行重新启动httpd
步进式点ch处的c点插销
18年前
对于那些想要使用PHPRC环境变量的人:
您必须指定包含php.ini的目录的路径,而不是到php.ini的直接路径。

示例(php.ini位于/your/path/php.ini中):
正确的:
导出PHPRC=/your/path

错误:
导出PHPPRC=/your/path/php.ini
匿名
16年前
你好,

在每个php/mysql站点上尝试了所有方法,以使php5.2.5与mysql服务器5.0对话(包括所有php.ini设置、所有dll等)

请尝试此操作:将Apache2.2服务启动类型设置为手动。如果没有,无论您停止和启动多少次,它都看不到重新加载php.ini。

两天后,我终于看到了mysql的信息<?php phpinfo();?>

希望这能有所帮助!!
丹麦
平点COM处的gprochnow
17年前
在与ISAPI具有IIS 6.0的同一台计算机上运行php 4和php 5.2.x。

1.将php 4和php 5(不是Windows Installer)的ZIP包分别解压缩到c:\php4&c:\php 5

2.在c:\php4和c:\php 5中设置相应的php.ini文件

3.为php4和php5添加Web服务扩展。对于php4,请使用c:\php4\sapi\php4 isapi.dll;对于php5,请使用c:\php5\php5 isapi..dll

4.添加以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\PHP\5\IniFilePath->c:\php5

HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath->c:\php4

5.将c:\php4添加到PATH环境变量中。

6.将IIS中的每个网站与相应的php版本相关联。

7.重新启动

注意:这应该是可行的,在每个站点使用phpinfo()进行测试。如果我们遗漏了任何其他设置,您可能需要参考php文档。
chrismonster网站上的php
15年前
w2k,apache 1.3.29,php 5.2.6:c:\php\php.ini是在环境变量PHPRC设置为“c:\php”之前找不到的,尽管php被用作模块,而不是CGI。

仅仅在路径中添加c:\php是不够的。

phpinfo()仍然将“配置文件(php.ini)路径”显示为C:\WINNT,但“加载的配置文件”现在正确显示为“C:\php\php.ini”。

最初的问题似乎很简单,就是mysql扩展没有加载;事实上,问题更为根本(没有找到php.ini),但由于php仍然可以使用默认值,所以这并不明显。
阿隆索
17年前
设置php作为Apache模块工作的php.ini位置(不使用httpd.conf中的SetEnv指令):

在启动Apache之前,将PHPRC环境变量设置为应加载php.ini的路径,例如:

PHPRC=/etc/php4/apache另一个路径
出口PHPRC

在Debian中,我们可以这样做:

在/etc/init.d/apache(加载apache web服务器的脚本)中,我们有这样一行:

ENV=“ENV-i LANG=C PATH=/bin:/usr/bin:/usr/local/bin”

设置为:

ENV=“ENV-i LANG=C PATH=/bin:/usr/bin:/usr/local/bin PHPRC=/etc/php4/apache-another-PATH”

然后重新加载apache,php.ini将加载到PHPRC环境变量中配置的目录中。
Jorrit Schippers公司
20年前
对于IIS用户:如果遇到解析时间过长的情况,请尝试将output_buffering设置为On。IIS在脚本输出许多小文本时会出现问题,而output_baffering=On时,PHP会将整个页面一次性发送给IIS。
georgeATdlouhyDOTinfo公司
15年前
PHP 5.2.6和Apache 2.2
----------------------
如果您尝试了上述所有操作,但服务器没有执行php脚本,请在php.ini中查看值:

short_open_tag=关闭
它不识别“<?”,仅“<?php'或'<script>'

一些编辑带着“<?”默认情况下,就像我一样。两天后,我终于发现。。。
到顶部