jjzjj

javascript - 当有另一个持久的 php 脚本在运行时,没有 php 脚本可以在服务器上运行

我有一个在服务器上运行的持久的PHP脚本。它将视频从服务器流式传输到video标签(不要问我为什么这样做:-))。它可以运行数十分钟。问题是同时我想使用AJAX将请求发送到服务器,但在长脚本停止之前它不会发生。我进一步调查了这个问题,发现了一些奇怪的事情。虽然持久的PHP脚本正在运行,但我无法从同一浏览器调用任何PHP脚本(无论是否使用AJAX)。同时从其他浏览器服务器可以毫无问题地访问。可以毫无问题地访问非phpAssets(图像、视频)。如果直接从.mp4文件播放视频,则问题不存在。可以在播放视频时处理对php的AJAX请求。我很好奇是什么导致了这个问题。据我所知,它可能是服务器和

php - Laravel [5.2.21] 自定义 Auth Guard 不持久

我正在尝试设置自定义身份验证保护,一切正常。我能够登录Model,但是一旦我将访问者重定向到新页面,身份验证就会丢失。我可以在Controller执行重定向之前dd()Auth::guard('client')->user()就好了,但是在AuthenticateClient中间件。我正在使用默认的保护程序来验证用户,并且一切正常。我已确保路由位于启用session的web中间件下。我搜索过类似的问题,但找不到有效的解决方案。有什么解决办法吗?旁注:我知道我在下面的代码示例中使用了token,但我所做的不仅仅是针对该token进行验证。所以这是一个不同于为api验证token的系统。路

php - 在 HTTP 请求之间具有持久状态的模型

我想创建一个Web应用程序,其模型在HTTP请求之间保持不变。据我了解,像PHP这样的语言将每个HTTP请求都视为一个全新的连接,除了一些全局变量,如SESSION;所以每次用户更改页面时,我的所有PHP类都会再次加载到内存中(每个AJAX请求也会这样做)-每次都需要我从数据库中构建。我是不是弄错了,或者我是想让一个圆适合一个正方形?Memcached似乎是一个很好的解决方案,可以在页面请求之间将我的模型保存在内存中,但它仍然需要加载缓存。PHPCLI似乎很有前途,但在深入研究之后,它似乎比它的值(value)更麻烦。有什么建议吗? 最佳答案

php - 如何从 PHP 使用 HTTP 1.1 持久连接和流水线?

我正在构建一个RESTAPI(使用JSON作为数据编码)。API调用都将是HTTPPOST,我需要能够处理相当大的数量(每秒可能调用1000次或更多)。服务器(我负责)将使用Java实现,但客户端很可能使用PHP。由于请求率很高,我热衷于利用HTTP1.1中的请求流水线,但我不确定是否可以从PHP执行此操作(即PHP是HTTP客户端,不是服务器)。任何人都可以提供有关如何从PHP执行此操作的任何建议吗? 最佳答案 您可以使用pecl_http的HttpRequestPool[1]类并调用未记录的$pool->enablePipeli

php - 使用 PHPUnit 和半持久数据库进行单元测试

我是单元测试的新手,我正尝试在我正在处理的现有项目中开始使用PHPUnit。我面临的问题是我有很多单元测试需要足够公平的数据库。我已经为单元测试的唯一目的设置了一个SQLite数据库。有时我想为新测试删除并重新创建数据库(我指的是每个单独的类),以防止不必要的数据冲突。但是,如果我在同一个类中有相互依赖的单元测试,有时我不希望这种情况发生;这些可能需要访问在先前测试中保存的数据。我目前正在每个类的setUp()函数中获取一个"new"数据库。我没有预料到的是这个函数(与__construct()一样)会在所述类中的每个测试用例之后运行。有没有一种方法可以让每个测试类都刷新数据库?还是我

php - 是否可以向 Laravel 模型添加非持久属性?

我正在使用Laravel(Lumen)创建一个API,其中的对象包含一个字段,该字段是一个文件的路径。这些路径在数据库中存储为相对路径,但在将它们返回给用户时,我必须将它们转换为绝对url。现在我想知道是否有一种方便的方法可以将非持久字段添加到模型对象中。明明有Mutators但它们会持久保存到数据库中。我也想过创建一个后中间件,它遍历对象树并转换它找到的每个path字段,但这不是一种优雅的方式。这是我需要的最终转换:[{"id":1,"title":"Sometitle","media":[{"id":435,"path":"relative/path/to/some/file.ex

PHP:持久变量值

我必须读取一个文件并进行一些计算,然后将计算结果保存在一个变量中。我只需要这样做一次。在Java+Servlet中,我可以使用servlet容器和例如单例模式来完成此操作。我知道在PHP中我不能这样做。哪种方法更好?在DB上保存计算(或传输数据)? 最佳答案 不,它不会像JavaServlet那样工作。您必须找到解决方法。首先,我假设通常使用$_SESSION、$_COOKIE或$_REQUEST对您来说不切实际,因为您希望按服务器(或应用程序)而不是按“用户session”保存状态。在您的情况下,使用数据库听起来很可行。在常规应用

php - 从服务器到服务器的持久登录信息

我目前在2个Web服务器上工作,一个是Coldfusion,另一个是PHP。现在,Coldfusion服务器是我的主要服务器,用户可以在其中登录以访问受限数据。但是,我也开始使用PHP服务器,并希望让用户透明地访问该服务器上的特定页面-该服务器也需要登录信息。我不希望用户登录两次。有没有办法做到这一点?谢谢更新:在Intranet环境中工作,所以我不能使用任何公共(public)解决方案。更新:我要求这样做的原因是因为我们正在从MSQL/Coldfusion环境(初始服务器)迁移到PHP/ORACLE(新服务器)。所以我也有2个用户表(尽管它们包含大部分相同的信息)。我正试图避免使用我

php - 单元测试持久层 - Symfony

我想在Symfony2中测试持久性。我想知道它是更好的模拟实体并提供给实体管理器还是更好的模拟实体管理器并将实体传递给管理器?我是第一个选项,但实体管理器抛出异常而不是对象不是实体学说。如何在PHPUNIT中测试持久性symfony? 最佳答案 与其编写单元测试,不如为持久层编写集成测试。单元测试中有一条规则“不要mock你不拥有的东西”。你不拥有Doctrine类或接口(interface),你永远无法确定你对你模拟的接口(interface)所做的假设是真实的。即使它们在您编写测试时为真,您也无法确定Doctrine的行为是否随

apc - 如何在 CLI 和 Web Server 实例之间共享 APC 用户缓存?

我正在使用PHP的APC来存储大量信息(使用apc_fetch()等)。这些信息有时需要分析并转储到别处。据说,我每秒获得数百次点击。这些命中增加了各种计数器(使用apc_inc()和friend)。每小时,我都想遍历我积累的所有值,并对它们进行一些其他处理,然后将它们保存在磁盘上。我可以在每个请求中将其作为随机或基于时间的切换来执行此操作,但这可能是一个很长的操作(可能需要20-30秒,如果不是几分钟的话)并且我不想将请求挂起那么久.我认为一个简单的PHPcronjob就可以完成这项任务。但是,我什至不能让它读回缓存信息。产生一个看似不同的APC内存段,其中:[num_entries