本文目录一览:
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
等等
希望对你有所帮助。