php 怎么一直运行,PHP服务的作用?
PHP是一门脚本语言,基本都用在web应用中的中间层,负责数据库以及前台页面交互和信息传递。主要php具有和java类似的class关键字。因为不需要虚拟机,以致速度比java快5倍。
PHP能做任何事,但其最主要的应用,就是与数据库交互来开发web应用,而数据库中mysql是目前公认和php兼容最好的,也是用的最多的组合。
并且PHP是软件开发语言的一种,在服务器端执行的嵌入HTML文档的脚本语言,类似于C语言,相对于java和C语言来说,php还是比较好学的。
PHP语法混合了C、Java、Perl 以及PHP 自创的语法。php的执行效率奇高;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。php的功能极其强大,能够兼容所有数据库,还可以用C、C++进行程序的扩展!
PHP的运行环境难配置吗?
PHP的运行环境不难配置!下面是个案例:
PHP开发环境配置(Windows版)
Apache+MySQL+PHP+phpMyAdmin
系统:Windows XP
Step1:下载以下文件
(1)php-5.2.0-Win32.zip
pecl-5.2.0-Win32.zip
(2)apache_2.2.3-win32-x86-no_ssl.msi
(3)mysql-5.1.12-beta-win32.zip
(4)phpMyAdmin-2.9.1.1-all-languages.zip
Step2:安装PHP, 配置php.ini
有两种方法在 Windows下安装PHP:手工安装或者使用安装程序安装。自动安装的安装程序php-5.2.0-win32-installer.msi不包含任何外部的PHP扩展(PHP_*.dll)。如果需要,可以在 Windows ZIP 包和 PECL 中找到。据PHP官方手册上称安装 PHP 最好的选择是手工安装。在手工安装中安装 PHP 最好的方式便是将所有 PHP 有关的文件都放入同一目录,并在系统的 PATH 环境变量中设置此目录。本例为手工安装.
1. 将下载的php-5.2.0-Win32.zip解压到C:\PHP\ 这个目录.
2. 再将C:\PHP\ 目录下的*.dll和 C:\PHP\ext目录下的所有文件文件复制粘贴到C:\windows\system32\下.
如果需要更多扩展,就将pecl-5.2.0-Win32.zip中的文件也放到C:\windows\system32\下.
3. 配置php.ini。
在ZIP 包中有两个ini文件,php.ini-dist和php.ini-recommended。建议使用 php.ini-recommended,因为在该文件中优化了性能和安全。复制所选择的 ini 文件到 PHP 能找到的目录中,并将其重命名为 php.ini 。
再用记事本打开 php.ini ,查找register_globals = Off,把off改成On.
再查找short_open_tag = Off,把off改成On有一处.
再查找extension_dir = "./" 改为 extension_dir = "C:\PHP\ext"
然后再查找;extension=php_mbstring.dll,把前面的分号去掉.
extension=php_mbstring.dll(不选这个phpMyAdmin会错)
以下几个dll作相同更改.
extension=php_dba.dll
extension=php_dbase.dll
extension=php_filepro.dll 可选
extension=php_gd2.dll 支持GD库的,一般要选
extension=php_imap.dll 可选
extension=php_ldap.dll
extension=php_mysql.dll 支持MySQL的
接下来修改了一些文件上传以及内存使用最大限制:
memory_limit = 20M ;内存容量
post_max_size = 20M ;闪存容量
upload_max_filesize = 20M ; 附件容量
asp_tags = On ;可选,On允许ASP风格的标记,Off禁止
4. 将 PHP 目录添加到 PATH 环境变量中
系统环境变量path=C:\php
5. 使 php.ini 文件在 Windows下被 PHP 所用
系统环境变量PHPRC=C:\php
Step3: 安装Apache,配置 httpd.conf 使之支持PHP
1.安装apache_2.2.3-win32-x86-no_ssl.msi,一路按Next即可.
安装完成后输入[url]http://localhost[/url] 查看Apache是否安装成功.
(如果安装了IIS请关闭,或者请改变安装端口,不然无法启动Apache服务)
2. 打开文件C:\Apache2\conf\httpd.conf,查找以下设置项.
即注册文件后缀.
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
</Directory>
绿色为我们新增的设置.
3.查找LoadModule模块
LoadModule php5_module "C:/ php/php5apache2_2.dll"
注意斜杠方向与Windows中路径”\”相反.
4.查找以下,并增加index.php
根据需要还可以增加其它自定义首页如index.htm
<IfModule dir_module>
DirectoryIndex index.html index.html.var index.php
</IfModule>
5. 查找 Documentroot "C:/Apache2/htdocs" 将其改为你的WEB路径; (这里是WEB主目录,可以不修改)
6.重启apache.
7. 在web根目录 C:\Apache2\htdocs\ 下新建index.php,内容如下:
<?php
phpinfo();
?>
在浏览器中输入URL: [url]http://localhost/index.php[/url] 测试结果.
如果不能正常运行,请检查配置.
Step4: 安装MySQL
MySQL安装过程
注意:安装中,一定要正确配置MySQL Server
安装完成后,新建conn.php
<?php
$link=mysql_connect('localhost','root','root');
if(!$link) echo "MySQL 数据库连接失败";
else echo "MySQL 数据库连接成功!";
mysql_close();
?>
运行该文件,测试数据库连接.
Step5:安装phpMyAdmin配置config.inc.php
phpMyAdmin并不是必需的,只是为了方便管理MySQL数据库,本身是用PHP编写而成.但是有了它,会大方便MySQL数据库管理.
1. 解压phpMyAdmin-2.9.1.1-all-languages.zip到C:\phpMyAdmin
2. 将C:\phpMyAdmin\config.sample.inc.php重命名为config.inc.php
3. 对照原文件进行如下更改,绿色为新增的.
$cfg['blowfish_secret'] = 'root';
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'root';
4. 将C:\phpMyAdmin\下所有文件和目录复制到
C:\Apache\htdocs\phpMyAdmin,
在浏览器中输入[url]http://localhost/phpMyAdmin/index.php[/url]进行测试
怎么才能实现随时随地监测服务器运行情况?
大家好,我是IT屠工,很高兴有机会回答这个问题!
目前监控服务器的软件很多,主要有cacti,nagios,zabbix,这三个监控软件功能各自不同:
cacti是一款使用PHP语言开的发性能与流量检测软件,检测对象可以是Linux、Windows服务器,也可以是路由交换机等网络设备,主要基于SNMP(simple、Network、Management、Protocol,简单网络管理协议)来搜集CPU占用、内存使用、运行进程、网卡流量等数据
Nagios是一款开源的计算机系统和网络监视工具,能有效地监控Windows,Linux和UNIX的主机服务状态,在系统服务发生异常时会发出电子邮件和短信通知报警第一时间通知网站维护人员
Zabbix是一个高度集成的企业级开源网络监控解决方案,与Cacti、Nagios提供分布式监控以以及集中的Web管理界面。Zabbix具备常见商业监控软件所具备的功能,例如主机性能监控、网络设备性能监控、数据库性能监控、ftp等通用协议的监控,能够利用灵活的可定制警告机制、允许用户对事件发送基于E-mail 的警告, 保证相关维护人员对问题做出快速解决;还能够利用存储数据提供杰出的报表及实时的图形化效据处理,实现对Linux、Windows 主机的7x24小时集中监控。
我强烈推荐大家使用Zabbix,Zabbix相比其他监控软件有如下优点:
安装与配置简单,学习成本低
支持多语言(包括中文,系统自带不需要额外安装插件)
自动发现服务器与网络设备
分布式监视以及WEB集中管理功能 (这一点相比其他监控软件有明显优势)
用户安全认证和柔软的授权方式 (如ldap认证)
通过WEB界面设置或查看监视结果 (图像化配置)
email等通知功能
关于zabbix的安装我们将通过单独的小结讲,下面的展示主要是为了方便大家对zabbix有一次直观的认识。下图所示:
zabbix主要有5个主菜单栏:Moniting,Inventory,reports,configuration,Adminstration每个主菜单栏下面又多个二级菜单.
Moniting:主要是对监控对象的一些相关展示,比如说对web应用的展示。
Inventory:资产管理,类似于公司里的资产管理,比如一个硬件设备,这里可能会标识设备的名称,操作系统,mac地址,资产编号等
Reports: 这里主要展示了zabbix服务的状态,比如主机数,报警数。还有就是展示了一些设备的可用性报表等相关信息。
Congfiguration:这里主要用来对系统的配置,比如创建主机,创创建模版,创建报警,创建流量图片等相关应用基本的配置主要通过这里来实现。
Adminstration: 这里也是用了对系统进行配置,可configuration相比,这里的配置主要实现对zabbix本身的一些相关的配置工作,比如登录zabbix的用户的创建等工作主要通过这里来配置。
下面让我们双击Configurtion,然后双击下面的host菜单如下所示:
从左到右依次是:host(主机名) application(相关应用) item(监控对象 )trigger (触发器) dns (主机的dns) ip(主机的ip地址) Templates(主机所用到的主机模版) Status (主机的状态 ) availablity。 下面我将对application ,item ,trigger,graphs,等相关概念进行一一的解释。
Item:主机监控的对象,比如主机的cpu利用率,这里cpu的利用率就可以成为一个item。比如我监控的一个服务也可以成为一个item,我们可以这样理解,我们说监控的东西就可以简单的被成为一个item。
Triiger:triiger被称为触发器,可以理解为促成警报的一个阀值,比如,当d盘的剩余空间只剩下百分之十时,我们可以把这个条件做为一个triger。
Graphs:图表,我们监控一个设备时,有时候希望以更加直观的图表的形式显示出来的时候往往可以通过graphs来设置,比如我们监控的一个item对象是etho 网卡出口的流量和一个iteme etho网卡进口的流量, 并且我们想把eth0网卡进出流量以曲线图的形式显示出来的话往往就需要在graphs里面来设置。
下面我们通过创建一个主机的事例让大家有个初步的认识。
首先:双击最上面的configuration下的host按钮出现如下图所示。然后我们双击右上角:create Host按钮。
当我们双击create host按钮后会出现如下的对话框,为了大家看起来方便我只截取了左边半部分。
其实不用我多讲相比大家也能明白个大概意思,大家只要按照说明填写相关的内容就可以了,然后单击save按钮进行保存。下面我们就要进行监控项目的添加了双击item按钮,出现下图所示
图中列出了我已经创建好的监控对象,下面我们讲新建一个监控项目以便大家能够更好的理解创建的过程,单击右上角的create item进行监控对象的创建。接下来会出现如下所示的对话框。
其中type:代表的意思是被监控但代理的类型,比如snmp类型ssh类型,monit agent类型等。Key代表了一种关键字,这里也可以自己定义,具我的理解如果是用agent类型的话就必须用系统自带的一些固定的格式去填写,比如:net.if.in[eth0,bytes] ,代表的意思是:etho里,进口的流量,但是是bytes,具体这方面的内容我们以后会单独的进行介绍。由于这章我们主要是以体验为主,所以我们不会讲的那么详细。 下面我们双击graphs按钮,同样的create graphs
大家可以看出来,item后面有五个不同的颜色来代表不同的监控对象,然后把这5个监控对象汇成一张图来展示给大家,这样其不是很方便哦。
最后我讲通过几张监控图让大家对zabbix有个直观的了解。
以上是我的回答,希望我的回答可以帮助到您!
欢迎大家关注点赞,我是@IT屠工,专注IT网络技术资源分享,普及IT网络技术!ZendSutdio是什么?
如果将 php 5.2 升级到5.3;同时也需要把 Zend Optimizer 升级成 Zend Guard;因为 Zend Optimizer 最高只支持 php5.2;Zend Guard 同 Zend Optimizer 没有本质的区别,只是支持的 php 版本不同。使用 Zend 加密的程序照常运行,比如 Shopex;但是有个别使用 Zend 加密的程序必须使用 Zend Optimizer,比如 phpweb ;(也有可能是 phpweb 依赖于 php 5.2,不兼容 php 5.3)
fastcgi下PHP运行超时问题的解决办法详解?
1,修改ASP脚本超时时间限制 右击需要修改的站点,选择“属性”,然后选择“主目录”,再选择“配置”。 选择“选项”,在ASP脚本超时中修改下时间,确定下就可以了。 2,修改PHP脚本超时时间限制 FastCGI Error The FastCGI Handler was unable to process the request. -------------------------------------------------------------------------------Error Details: •The FastCGI process exceeded configured activity timeout •Error Number: 258 (0x80070102). •Error Description: µÈ´ýµÄ²Ù×÷¹ýʱ¡£ HTTP Error 500 Server Error. Internet Information Services (IIS) 如果服务器正常,本错误往往发生在提交一个很大的字符串时发生。原因就是在处理如此“巨大”的字符串提交请求时,服务器处理超时了。可以通过设置fcgiext.ini里面的超时配置和php.ini里的超时配置来解决。当然,根据个人对服务器设置的不同,可能还需要修改更多配置信息。比如允许一次性提交多少数据。 大概给该网站建立一个独立的应用程序池也可以解决某些因此原因导致的问题。 在C:WINDOWSsystem32inetsrv文件夹中找到fcgiext.ini文件。 注意:如果是新版的PHP环境,fcgiext.ini文件是存放在C:ZkeysSoftphp目录。 打开文件后,里面关于php脚本活动超时时间(ActivityTimeout)的配置信息如下: [Types] php=PHP [PHP] ExePath=c:PHPphp-cgi.exe InstanceMaxRequests=500 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:1000 ActivityTimeout=1200 里面的数字可以自行调整。上面的提示,即配置文件里的ActivityTimeout=600 这个时间超时设置,600是10分钟,最大可以设置为6000一小时。但不一定就是这个原因引起的。