草庐IT

线程不安全

全部标签

php - PHP 中的多线程

在apcahe服务器中,我想将PHP脚本作为cron运行,它在后台启动一个php文件并在文件启动后立即退出并且不等待脚本完成,因为该脚本大约需要60分钟才能完成完成。如何做到这一点? 最佳答案 您应该知道PHP中没有线程。但是如果您在Unix/linux系统上运行,您可以执行程序并轻松分离它们。$command="/usr/bin/php'/path/to/your/php/to/execute.php'";exec("{$command}>/dev/null2>&1&echo-n\$!");可以完成这项工作。让我们解释一下:exe

php - 在 PHP 中创建新线程(?)

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:phpexecuteabackgroundprocesshowcanIachieveataskthatshouldbedoneinthreadinphp我有这个PHP脚本,它的处理时间有点长。但是我不希望观众等待脚本完成。我希望他能够继续浏览和/或关闭浏览器。但我希望脚本继续工作......我该怎么做?有没有办法创建某种线程来允许这样的事情?附注我真的不想用另一种语言重写脚本并通过操作系统执行它。

php - 使用 extract($_POST) 不安全吗?

使用extract($_POST)不安全吗?如果是,那么我该怎么办? 最佳答案 是的。这与register_globals是一样的。这意味着如果有人注入(inject)一个名为“my_name”的值,变量“my_name”就会存在。如果它存在,如果您在某个地方使用变量$my_name,它可能会在您的脚本中带来一些垃圾或安全问题 关于php-使用extract($_POST)不安全吗?,我们在StackOverflow上找到一个类似的问题: https://st

php - 为什么在 php 中使用多线程不是一个好主意?

我知道php没有线程。但是在本教程中,他们表明通过使用主机操作系统的能力,我们可以实现它。它还表示不会在生产代码中执行此操作。为什么这不是一个好主意?这是一个示例代码$processID=pcntl_fork();if($processID){echo"I'mintheparentprocess!";}else{echo"I'minthechildprocess!";}这是tutorial. 最佳答案 fork会创建一个Thread吗?当我们fork一个进程时,进程空间,即进程需要执行的库和代码所在的内存区域被复制,不同但相关的进程

什么是创建主()等待Java线程的Main()循环的黄金标准

我的任务是编写一个小型服务器应用程序。它应该通过控制台启动,然后在后台运行,处理一些网络流量并在本地计算内容,直到收到关闭信号为止。我很确定我可以处理所有这些-除了非常基本的应用程序体系结构。我非常不确定如何带我的主循环等待应用程序完成。因此,这是我当前的代码,清理并省略了不必要的零件。publicclassTestServer{publicstaticLoggerlogger;privatestaticBooleanabortStartup=false;privatestaticServerModuleserver;publicstaticvoidmain(String[]args){Sys

php - 在PHP中以并行/多线程方式执行文件

我有一个cron文件cron/cron1.php。我已将其设置为运行1分钟的cron。因此对于下一个过程,执行需要1分钟。现在我想在一分钟内并行运行这个文件三次。此文件执行时间超过2分钟。我可以像这样在单个文件中并行运行这个文件吗file1.php在上面的文件cron1.php中将执行5秒的差异,但是当上面的一个完成时它的过程。正如我告诉您的那样,每个cron1.php都需要2分钟以上才能完成。所以我无法实现它。是否有任何进程或多线程或方法,以便我可以每5秒延迟运行每个cron1.php。然后我会将file1.php设置为cron作业。 最佳答案

php - 哪种语言具有更好的线程功能? PHP 或 ruby

我正在创建一个需要线程的Web应用程序,我正在尝试找出PHP和Ruby之间的哪种语言具有更好的线程功能和更好的性能。即使不是内置的,也有一些简单的解决方法或附加组件。 最佳答案 我不得不说Ruby,因为Ruby实际上支持它。PHP没有。使用PHP,您可以创建新进程(这是一个坏主意)或编写多个Web服务并使用curl_multi_*函数来完成某些事情,但线程不是PHP的特性。 关于php-哪种语言具有更好的线程功能?PHP或ruby,我们在StackOverflow上找到一个类似的问题:

php - 允许用户上传任何文件。我的方法不安全吗?

我正在创建一个文件共享站点,类似于Megaupload或Rapidshare。就像提到的那些网站一样,我需要允许任何文件类型。我正在考虑一个解决方案,需要知道它是否存在任何安全风险,或者是否有更好的解决方案来解决我的问题?用户上传文件检查文件大小,如果低于100mb则开始上传使用IP、时间戳和盐加密文件名存储在无法从网络访问的目录中在数据库中存储文件名、描述和散列文件名上传完成。现在下载:用户请求下载连接数据库,定位文件ID如果找到文件ID,从文件服务器位置复制文件并准备文件传输重要的是要注意任何东西都不能在服务器上运行。因此用户无法上传恶意文件并对服务器发起攻击。请求文件时,它将立即

php - PHP 类析构函数是否总是在 Apache HTTP 请求线程上下文中调用?

我有一个PHP应用程序(PHP5.3),其中的日志记录是在类析构函数中完成的。/***@returnvoid*/publicfunction__destruct(){$string=...$file=newSplFileObject('filename','a');$file->fwrite($string."\n");}只有一台服务器在做日志记录。基本上,执行日志记录的代码会保存当前时间戳(请求结束)以及其他信息,例如持续时间......奇怪的是,当我查看日志时,时间戳并不总是按时间顺序出现。我有将近2分钟的差异。例如(我的日志):2014-05-1014:30:00log12014

php - 在 Ubuntu 上的 PHP+Apache2 中启用线程安全 - 使用 pthreads 从源代码编译 php

在我通过apt-get安装Apache2和PHP5后,我试图让pthreads在我的Ubuntu服务器(14.04)上运行。我的初始步骤:已安装apache2-apt-getinstallapache2使用常用模块安装php5apt-getinstallphp5libapache2-mod-php5php5-mcrypt...然后我按照本教程让pthreads运行(Usercontributedmanualonphp.net):1-GetPHPversionForthisexamplewewilluseversion:5.4.36#wgethttp://www.php.net/dist