㈠ php的介绍及Php有什么优势
优点和缺点:
1:学习简单,做为一种脚本语言,学习简单是必须的!同样的,作为一种脚本语言,效率问题,永远是痛点,特别是复杂的运算
2:语法较随意,同样的,语法的随意性,使得在阅读没有注释的代码时,无法很清楚的明白到底是什么意思,比如java,变量的类型是固定的,而php则前面可以是string,后面直接成array都没关系
3:php本身不支持多线程(swoole除外)
4:php没有直接操作内存的函数(至少本人不知道,6还没研究,不知道有没)
5:作为一种弱语言,php也算很好了,比之perl等也不错
6: php可以说应用范围很狭窄(个人理解,除了网页之外,好像没什么其他用途了,如果内嵌在游戏中那么python是不错的选择,cli也能凑合,),当然,我把php做的server-api这种模式也理解为是网页!
㈡ php在执行一个耗时的mysql时无法进行其他mysql操作
建议先使用外部工具连接数据库试试,看是否是数据库支撑不了大规模数据的写入查询等等。检查数据库的连接数,php配置的连接数
如果是连接数满了,简单粗暴的方式,修改连接数配置。如果是mysql所消耗的内存服务问题,就要修改mysql内存,加大配置。优化一下耗时长的业务,这个和程序端的代码,是否为多线程没有太大的关系,从你发出来的情况,就是1个请求耗时太长,让后其他请求没有返回,要么是web服务内存吃紧,要么是mysql服务压力过大,连接数用满的情况,应该不太可能。
㈢ 北大青鸟设计培训:PHP中的(伪)多线程与多进程
利用WEB服务器本身的多线程来处理,从WEB服务器多次调用我们需要实现多线程的程序。
PHP中也能多线程了,那么问题也来了,那就是同步的问题。
厦门电脑培训http://www.kmbdqn.cn/知道PHP本身是不支持多线程的,所以更不会有什么像Java中synchronize的方法了。
那我们该如何做呢?1.尽量不访问同一个资源。
以避免冲突。
但是可以同时像数据库操作。
因为数据库是支持并发操作的。
所以在多线程的PHP中不要向同一个文件中写入数据。
如果必须要写的话,用别的方法进行同步。
如调用flock对文件进行加锁等。
或建立临时文件,并在另外的线程中等待这个文件的消失while(file_exits('xxx'));这样就等于这个临时文件存在时,表示其实线程正在操作。
如果没有了这个文件,说明其它线程已经释放了这个。
2.尽量不要从runThread在执行fputs后取这个socket中读取数据。
因为要实现多线程,需要的用非阻塞模式。
即在像fgets这样的函数时立即返回。
。
所以读写数据就会出问题。
如果使用阻塞模式的话,程序就不算是多线程了。
他要等上面的返回才执行下面的程序。
所以如果需要交换数据最后利用外面文件或数据中完成。
实在想要的话就用socket_set_nonblock($fp)来实现。
说了这么多,倒底这个有没有实际的意义呢?在什么时候需要这种用这种方法呢?答案是肯定的。
大家知道。
在一个不断读取网络资源的应用中,网络的速度是瓶颈。
如果采多这种形式就可以同时以多个线程对不同的页面进行读取。
㈣ php多线程
以下都是转载, 简单说下, php是不支持多线程的。。。。
PHP语言本身是不支持多线程的. 总结了一下网上关于PHP模拟多线程的方法, 总的来说, 都是利用了PHP的好伙伴们本身所具有的多线程能力. PHP的好伙伴指的就是linux和APACHE啦, LAMP嘛.
另外, 既然是模拟的, 就不是真正的多线程. 其实只是多进程. 进程和线程是两个不同的概念. 好了, 以下方法都是从网上找来的.
1. 利用LINUX操作系统
<?php
for ($i=0;$i<10;$i++) {
echo $i;
sleep(5);
}
?>
上面存成test.php, 然后写一段SHELL代码
#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10
do
php -q test.php &
done
2. 利用fork子进程(其实同样是利用LINUX操作系统)
<?php
declare(ticks=1);
$bWaitFlag = FALSE; /// 是否等待进程结束
$intNum = 10; /// 进程总数
$pids = array(); /// 进程PID数组
echo ("Startn");
for($i = 0; $i < $intNum; $i++) {
$pids[$i] = pcntl_fork();/// 产生子进程,而且从当前行之下开试运行代码,而且不继承父进程的数据信息
if(!$pids[$i]) {
// 子进程进程代码段_Start
$str="";
sleep(5+$i);
for ($j=0;$j<$i;$j++) {$str.="*";}
echo "$i -> " . time() . " $str n";
exit();
// 子进程进程代码段_End
}
}
if ($bWaitFlag)
{
for($i = 0; $i < $intNum; $i++) {
pcntl_waitpid($pids[$i], $status, WUNTRACED);
echo "wait $i -> " . time() . "n";
}
}
echo ("Endn");
?>
3. 利用WEB SERVER, PHP不支持多线程, APACHE可是支持的, 呵呵.
假设我们现在运行的是a.php这个文档. 但是我在程式中又请求WEB服务器运行另一个b.php
那么这两个文档将是同时执行的.
<?php
function runThread()
{
$fp = fsockopen('localhost', 80, $errno, $errmsg);
fputs($fp, "GET /a.php?act=brnrn");
fclose($fp);
}
function a()
{
$fp = fopen('result_a.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
fclose($fp);
}
function b()
{
$fp = fopen('result_b.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
fclose($fp);
}
if(!isset($_GET['act'])) $_GET['act'] = 'a';
if($_GET['act'] == 'a')
{
runThread();
a();
}
else if($_GET['act'] == 'b') b();
?>
当然啦,也可以把需要多线程处理的部分交给JAVA去处理, 然后在PHP里调用, 哈哈.
<?php
system('java multiThread.java');
?>
㈤ PHP的优缺点是什么
HP应该算是现在大中小非专业网站企业会优先使用的网站建设编程语言,相对于ASP和JSP来说,PHP在在很多方面更适合个人以及小型企业做开发,这主要是因为PHP本身独特的优势导致的,那么下面小编就来为大家盘点PHP得到众多企业支持的原因。
PHP的优势包括:
1、开放源代码
由于PHP开放源代码,因此基本上可以在网络上找到适合自己的源代码。
2、免费性
和其它技术相比,PHP本身免费,并且也是开源代码。
3、快捷性
PHP程序开发快,运行快,技术本身学习快。由于PHP可以被嵌入于HTML语言,新词相对于其他语言来说编辑简单,实用性强,更适合初学者。
4、跨平台性强
由于PHP是运行在服务器端的脚本,因此可以在多种平台上得到应用,包括了UNIX、LINUX、WINDOWS、Mac OS等系统。
5、效率高
PHP由于消耗相当少的系统资源,因此工作效率更高。
6、图像处理
一般来说,PHP动态创建图像,而且目前PHP图像处理默认使用GD2。因此也可以配置为使用image magick进行图像处理。
7、面向对象
在PHP4,PHP5 中,面向对象方面都做出了很大的改进,因此PHP完全可以用来开发大型商业程序。
8、专业专注
PHP同为类C语言,而且更重要的就是PHP以支持脚本语言为主。
上面介绍的八点内容就是关于PHP被广大企业使用的优势,其实PHP相对于其它几种语言来说,更适合初学者学习和使用,因此想要入门的朋友可以多找一些材料来学习。
㈥ PHP 到底是单进程还是多进程
默认是单进程,可以支持多进程
㈦ c语言和PHP,学哪个好
计科专业从事嵌入式开发多年,从现在的市场行情以及就业的机会上讲php的就业空间还是大于C语言,但并不意味着C语言就已经被淘汰掉了,相反因为高级语言在应用领域使用的范围比较广泛,倒是显得很多底层的编程语言成了稀缺的物种,毕竟对于底层的维护也是一项很重要的工作,况且C语言的使用范围并不是很狭窄,特别是在嵌入式领域还是被广泛的使用中,像华为这种通讯设备厂家对于C语言的使用概率还是非常高的,所以不能简单的认为哪种编程语言最好,还是取决于个人的爱好和兴趣,如果真的对于哪种编程语言就是感兴趣,就可以忽略市场大方向的需求了,因为只要还在市场存在的编程语言证明其还有存在的价值。
而且编程语言之间是相通的,如果已经掌握了一种编程语言在很短的时间内就能切换到另外一种编程语言,毕竟编程思想和编程模式有着太多的相似之处,比如利用php编程编写网络的并发代码,如果已经掌握了大部分的模式再切换到C语言去编程,虽然使用的工具有很大的差异,但是起码从内心上有底,毕竟已经有成熟的案例可以对照学习的过程也能加快好几倍,所以程序员的能力的强弱比较的不是掌握编程语言的数量关键还是实际编程中解决问题的能力,解决问题的能力显得比较笼统,像在项目选择使用什么样子的框架,编程过程中遇到编译不过的语法,解决客户提出棘手的问题,这些都属于解决问题的能力,所以和这些能力相比编程语言已经弱化许多了。
对于这两种编程语言的选择,简单做个介绍如果是想从事后台服务器的php是必选的编程语言,如果是想从事底层的开发C语言是必备编程语言,先要从方向上明确这样在选择的时候不至于犯很大的错误,其实在早期的php编程中也是接近于面向过程的编程,在语法习惯上也是和C语言有很多相似之处,但后续编程语言基本上向着面向对象的趋势在发展所以后来转向面向对象的编程了,相对来讲php属于集成化的编程语言在实际编程过程中可以有很多的类库来使用,对于新手来讲php早期更加容易做出一些复杂的功能。
C语言基本上接近于比较原始的编程语言,想要实现很多功能都需要自己动手去写,但是C语言最大的优势在执行的效率高,而且编程语法非常的灵活所以讲C语言对于底层编程特别的合适,像操作系统代码都是C语言来完成,执行的效率高而且还能灵活多变,但C语言在图形编程方面需要借助于很多成型的图形库,还是更加适合在后台默默的工作,现在比较流行大型算法从效率的角度考虑还是以C语言为主要的编写为主。
在早期大学教程中第一门编程相关的编程语言几乎都是C语言,随着高级语言的流行现在大学的开设的编程语言的种类也多了,再加上编程语言向着集成化的发展,让很多人觉得C语言都是老古董的存在了,个人还是建议如果想长期在编程行业去工作,不妨对这门编程语言学习掌握一下,对于了解底层实现原理还是有着极大的好处,知其然知其所以然,对于了解的编程的框架还是有着极大的好处的,所以如果有时间建议掌握C语言,从知识的纵观程度上还是有着极大的好处的,希望能帮到你。
作为一名IT从业者,同时也是一名计算机专业的教育工作者,我来回答一下这个问题。
首先,C语言和PHP语言都是目前IT行业内应用比较普遍的编程语言,C语言主要应用在嵌入式开发、操作系统开发和容器开发等领域,而PHP则主要应用于Web开发领域,这两门编程语言在应用场景上几乎没有交叉,所以也相对比较好选择。
对于计算机基础比较薄弱的初学者来说,学习PHP是比较不错的选择,一方面PHP语言比较容易学习和掌握,另一方面PHP相关的开发岗位也比较多,比较容易实现就业。虽然相对于Java和Python等编程语言来说,PHP语言的应用场景比较集中,主要应用在Web开发领域,但是由于PHP在Web开发领域的应用非常普遍,所以就业机会也相对比较多。
# 科技 V计划# PHP是主要适用于Web开发领域脚本语言
C语言应用广泛:操作系统Windows(c艹)、Linux、 游戏 引擎、驱动程序
php与c语言的不同点
1、PHP是服务器脚本语言,必须要运行在能够解析PHP的服务器上
2、C语言是低级语言,PHP是高级语言
3、C语言是强类型语言,PHP是弱类型语言,这一点从两者语法的差别可以看出
4、PHP主要用来做web应用,C语言主要用来做计算机底层的应用,另外C语言功能比PHP强大很多,你应该知道PHP就是用C语言写的
5、PHP不支持多线程
6、PHP去掉了C语言中关于指针比较难把握的运算,使得PHP比C容易学习和掌握
7、PHP的基本变量类型有整型(Integer)、浮点型(Float)、字符串(String)(这是C没有的,但C++有String类)以及布尔型(Boolean)(C没有,但是C++有)。构造类型有数组和对象。此外还有两个特殊类型:空值(NULL)(C也有)和资源(Resource)。
8、在PHP中定义常量的方式在学习C的人看来有点不可思议,竟然是用一个define函数实现的,PHP的函数实在是太厉害了,后面我们会看到定义数组也是由函数完成的,我们真得感谢PHP无比丰富的函数库,它们成就了PHP的易用和强大。
计科专业从事嵌入式开发多年,从现在的市场行情以及就业的机会上讲php的就业空间还是大于C语言,但并不意味着C语言就已经被淘汰掉了,相反因为高级语言在应用领域使用的范围比较广泛,倒是显得很多底层的编程语言成了稀缺的物种,毕竟对于底层的维护也是一项很重要的工作,况且C语言的使用范围并不是很狭窄,特别是在嵌入式领域还是被广泛的使用中,像华为这种通讯设备厂家对于C语言的使用概率还是非常高的,所以不能简单的认为哪种编程语言最好,还是取决于个人的爱好和兴趣,如果真的对于哪种编程语言就是感兴趣,就可以忽略市场大方向的需求了,因为只要还在市场存在的编程语言证明其还有存在的价值。
作为最古老的编程语言之一,C依然高居榜首,这归功于其可移植性以及微软、Oracle和苹果等 科技 巨头采用它。它与几乎所有系统兼容, 很适合操作系统和嵌入式系统。 由于运行时环境相对小巧,因此C是保持这种系统精简的完美选择。 强烈建议初学者学C,它实际上是编程语言的通用语言,已催生出了同样很受欢迎的衍生语言,比如C++和C#。
用于Web开发的PHP,据TIOBE显示,PHP在TIOBE最受欢迎的编程语言排行榜中位居第七,取代JavaScript成为更受欢迎的脚本语言。PHP主要用在服务器端上用于Web开发,约占网站总数的80%。Facebook最初使用的就是PHP,PHP在WordPress内容管理系统中扮演的角色让它很受欢迎。PHP提供了几个框架,比如Laravel和Drupal,帮助开发人员更快地构建应用程序,拥有更高的可扩展性和可靠性。因此, 如果你在找Web开发方面的职位,PHP是不错的选择。
单看热度的,话还是C语言更好一些,而且PHP还是要有C的基础才好学一些,要做程序员的话只单学一个怕是不够用,哈哈哈哈哈哈嗝,还是学C吧
㈧ php是单线程单进程的么
每个PHP文件的执行是单线程的,但是,服务器(apache/nigix/php-fpm)是多线程的。每次对某个PHP文件的访问服务器都会创建一个新的进程/线程,用来执行对应的PHP文件.
㈨ php能不能开线程的
不能,php本身是不支持多线程的,或者说没有多线程的概念。如果非要开线程的话,可以借助linux的县城概念,来模拟多线程。