php线上运行
⑴ 学习php可以做什么发展方向有哪些
PHP能做什么
PHP 能做任何事,PHP 脚本主要用于以下三个领域:
1、服务端脚本。
这是 PHP 最传统,也是最主要的目标领域。开展这项工作需要具备以下三点:
A、PHP 解析器(CGI 或者服务器模块)、
B、web 服务器、
C、web 浏览器。
需要在运行web服务器时,安装并配置PHP,然后,可以用web浏览器来访问PHP程序的输出,即浏览服务端的PHP页面。
如果只是实验 PHP 编程,所有的这些都可以运行在自己家里的电脑中。
2、命令行脚本。
可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。
通过这种方式,仅仅只需要 PHP 解析器来执行。
这种用法对于依赖cron(Unix或者linux环境)或者Task Scheler(Windows环境)的日常运行的脚本来说是理想的选择。
这些脚本也可以用来处理简单的文本。
3、编写桌面应用程序。
对于有着图形界面的桌面应用程序来说,PHP 或许不是一种最好的语言,
但是如果用户非常精通 PHP,并且希望在客户端应用程序中使用 PHP 的一些高级特性,
可以利用 PHP-GTK 来编写这些程序。用这种方法,还可以编写跨平台的应用程序。
PHP-GTK 是 PHP 的一个扩展,在通常发布的 PHP 包中并不包含它。
如果对 PHP-GTK 感兴趣,请访问其网站以获取更多信息。
PHP还可用于其他更广泛的领域:
PHP 还支持利用诸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows环境)等不计其数的协议的服务。
还可以开放原始网络端口,使得任何其它的协议能够协同工作。
PHP 支持和所有 web 开发语言之间的 WDDX 复杂数据交换。
关于相互连接,PHP 已经支持了对 Java 对象的即时连接,并且可以将他们自由的用作 PHP 对象。
甚至可以用我们的 CORBA 扩展库来访问远程对象。
PHP 具有极其有效的文本处理特性,支持从 POSIX 扩展或者 Perl 正则表达式到 XML 文档解析。
为了解析和访问 XML 文档,PHP 4 支持 SAX 和 DOM 标准,也可以使用 XSLT 扩展库来转换 XML 文档。
PHP5基于强健的libxm2标准化了所有的XML扩展,并添加了SimpleXML和XMLReader支持,扩展了其在XML方面的功能。
如果将PHP用于电子商务领域,
会发现其Cybercash支付、CyberMUT、VeriSign Payflow Pro以及MCVE函数对于在线交易程序来说是非常有用的。
另外,还有很多其它有趣的扩展库。
例如 mnoGoSearch 搜索引擎函数、IRC 网关函数、多种压缩工具(gzip、bz2)、日历转换、翻译……
php+mysql相结合,可以开发大中型网站,网店等软件,flex+php+mysql相结合可以开发像开心网这样的游戏,还有phpgane(游戏),随着php版本的不断提高,php涉及领域网站,网游和管理,销售软件等开发触!
⑵ 濡备綍鍦╥is涓閰岖疆php杩愯岀幆澧冨备綍鍦╥is涓閰岖疆php杩愯岀幆澧
濡备綍鍦╥is涓嬭繍琛宲hp锛
IIS涓嬭繍琛孭HP镄勬柟娉:x0dx0a涓銆佸畨瑁匬HP5.3.6x0dx0a1)鍏抽棴阒茬伀澧欙纴灏唒hp5.zip瑙e帇鍒瘅:PHPPHPWINDOWS鐩褰昞x0dx0ax0dx0a3)鍒皃hp瀹夎呯洰褰(D:PHPPHPwindows闆嗗悎锲㈢洰褰曘俓x0dx0ax0dx0a2)镣瑰嚮钬沧椠灏勨濋夐”鍗′笂镄勨沧坊锷犫濇墦寮钬沧坊锷/缂栬緫搴旂敤绋嫔簭镓╁𪾢鏄犲皠钬濆硅瘽妗嗭纴镣瑰嚮钬滃彲镓ц屾枃浠垛濆悗镄勨沧祻瑙堚濆畾浣岲:PHP钥孎astCGI镓ц屾柟寮忔槸浠ュ崟涓绾跨▼𨱒ユ墽琛屾搷浣滐纴镓浠ヤ笉闇瑕佽繘琛岀嚎绋嬬殑瀹夊叏妫镆ワ纴闄ゅ幓绾跨▼瀹夊叏妫镆ョ殑阒叉姢鍙嶈屽彲浠ユ彁楂樻墽琛屾晥鐜囷纴镓浠ワ纴濡傛灉鏄浠FastCGI𨱒ユ墽琛孭HP锛屽缓璁阃夋嫨NonThreadSafe鐗堟湰銆
瀹樻柟骞朵笉寤鸿浣犲皢NonThreadSafe搴旂敤浜庣敓浜х幆澧冿纴镓浠ユ垜浠阃夋嫨ThreadSafe鐗堟湰镄凯HP𨱒ヤ娇鐢ㄣ
2锛岄厤缃畃hp
瑙e帇鍒版煇涓鐩褰曪纴濡俢:/php345
灏唒hp.ini-development閲嶅懡钖崭负php.ini
fastcgi.impersonate=1榛樿や负0锛屽傛灉浣跨敤IIS锛屼綘闇瑕佸紑钖锛歝gi.fix_pathinfo=1
cgi.force_redirect=0榛樿ゅ紑钖锛屽傛灉浣犱娇鐢↖IS锛屽彲浠ュ皢鍏跺叧闂
鍏舵℃寚瀹欤xtension_dir鐩褰曞拰date.timezone鐩褰
extension_dir="C:/php53iis/ext"
date.timezone=Asia/Shanghai
淇鏀笔HP.INI閰岖疆鏂囦欢涓镄刢gi.fix_pathinfo=1锛孭HP浼氢慨姝SCRIPT_FILENAME涓虹湡瀹炵殑鏂囦欢鍦板潃锛屽惁鍒橮HP灏嗘棤娉曟垒鍒伴渶瑕佸勭悊镄凯HP鏂囦欢銆
3锛岄厤缃畁ginx
瑙e帇nginx锛屽俢:/nginx
璁惧畾error.log镄勫瓨鏀剧洰褰曪纴灏#error_loglogs/error.log;镄#铡诲勶纴榛樿error.log鏄瀛樻斁鍦∟ginx瀹夎呯洰褰曚腑logs鐩褰曚笅銆
⑶ 有什么办法可以实现php控制多线程运行
php(做为现在的主流开发语言)中实现多线程? 看到这个标题, 你一定以为我疯了..但是事实上我真的这么做了.
下面是我的一些做法, 已经实验过. 确实可以的.
我们知道php(做为现在的主流开发语言)本身是不支持多线程的, 但是我们的WEB服务器是支持多线程的.
也就是说可以同时让多人一起访问. 这也是我在php(做为现在的主流开发语言)中实现多线程的基础.
假设我们现在运行的是a.php(做为现在的主流开发语言)这个文件. 但是我在程序中又请求WEB服务器运行另一个b.php(做为现在的主流开发语言)
那么这两个文件将是同时执行的.
(PS: 一个链接请求发送之后, WEB服务器就会执行它, 而不管客户端是否已经退出)
有些时候, 我们想运行的不是另一个文件, 而是本文件中的一部分代码.该怎么办呢?
其实可是通过参数来控制a.php(做为现在的主流开发语言)来运行哪一段程序.
下面看一个例子:
//a.php(做为现在的主流开发语言)
php(做为现在的主流开发语言)代码:--------------------------------------------------------------------------------
<?php(做为现在的主流开发语言)
function runThread()
{
$fp = fsockopen(localhost, 80, $errno, $errmsg);
fputs($fp, "GET /a.php(做为现在的主流开发语言)?act=b "); //这里的第二个参数是HTTP协议中规定的请求头
//不明白的请看RFC中的定义
fclose($fp);
}
function a()
{
$fp = fopen(result_a.log, w);
fputs($fp, Set in . Date(h:i:s, time()) . (double)microtime() . " ");
fclose($fp);
}
function b()
{
$fp = fopen(result_b.log, w);
fputs($fp, Set in . Date(h:i:s, time()) . (double)microtime() . " ");
⑷ Php cli是守护进程的吗
php_cli模式简介
php-cli是php Command Line Interface的简称,如同它名字的意思,就是php在命令行运行的接口,区别于在Web服务器上运行的php环境(php-cgi, isapi等) 也就是说,php不单可以写前台网页,它还可以用来写后台的程序。 PHP的CLI shell脚本适用于所有的PHP优势,使创建要么支持脚本或系统甚至与GUI应用程序的服务端!——注:windows和linux下都支持php_cli模式
PHP-cli应用场景:
1.多线程应用
这方面的好处,引用鸟哥的话:
优点:
1. 使用多进程, 子进程结束以后, 内核会负责回收资源
2. 使用多进程,子进程异常退出不会导致整个进程Thread退出. 父进程还有机会重建流程.
3. 一个常驻主进程, 只负责任务分发, 逻辑更清楚.
php的多线程—没错就是php多线程应用,虽然大家都普遍认为php没有多线程(curl属于模拟多线程而不是真实的),但是在php_cli模式下的php彻底的是属于多线程。这个时候php属于linux的一个守护进程。 在本人之前写过的《PHP多线程批量采集下载美女图片(续)》的时候在采集程序里虽然使用curl来模拟多线程,但是在浏览器执行的时候也是会遇到执行超时或内存abort而导致程序中断,(要尝试几次才可以彻底成功),但是如果在php-cli模式下执行,你就会发现这个程序执行的很快,php多线程执行的优势被彻底表现出来了.
备注:这种多线程方式不是很成熟,不适合大规模的生成应用,偶尔使用还是可以的
2.定时执行php程序
利用linux的cron方式,那么这个方式是如何定时执行php程序?请看下文
3.开发桌面程序
你可以做您的Windows或Linux中使用PHP的图形用户界面(GUI)应用!所有你需要的是PHP的命令行接口和一包GTK。这将允许建立真正的便携式图形用户界面应用程序(呵呵,之前只是知道php可以做桌面程序,现在才知道是使用php_cli模式),并且不需要学习别的。
4.编写PHP的shell脚本
如果你不会bash shell或者Perl等的使用,但是你又需要一些脚本去执行的时候,怎么办?这个时候你完全可以使用你熟悉的php编写shell脚本,这个时候你是不是突然感觉PHP是不是太强大了!—–真正做到一种语言,到处开发!
PHP_CLI使用方法
win下面的执行方法:
假设php.exe 在D:xamppphp在dos命令在可以这个执行:
复制代码 代码如下:D:xamppphpphp.exe D:xampphtdocstest.php
就可以执行test.php这个文件了 。这里推荐win平台下xampp集成环境,真正比wamp强大N倍,这个集成包可以直接进入dos模式。
linux下php_cli使用
首先找到你安装php的路径,以我为例:
当然实现的方法不止一个,大家可以尝试其他方法实现!
例外关于php的cli还有很多参数可以加入:具体可以参考:http://php.net/manual/en/features.commandline.php
关于定时执行
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,周期性作业,比如备份数据 打开/etc/crontab,添加:
复制代码 代码如下:
/usr/bin/php -f /data/htdocs/test.php