草庐IT

socket_last_error

全部标签

php - 是否有可能实现 SSL (wss ://) using PHP socket extension?

我有一个websocket服务器,使用PHP的socket库实现,并且一切正常...只要您使用的是ws://协议(protocol)。但是,我们现在需要升级库以通过SSL工作,即支持wss://协议(protocol)。是否有可能使用PHPsocket实现wss://(或者更一般地说,我想是SSL连接)函数,或者我们是否需要重写代码以使用stream_socket函数?(请注意,切换到stream_socket可能还有其他充分的理由,因此无论答案如何,我们都可以考虑这样做。但是,在我花时间评估这两个选项之前,我想确认坚持使用socket甚至是我们的一个选择。)

php - nginx 代理转发和 stream_socket_get_name

如何让stream_socket_get_name从远程客户端返回真实的IP地址?$ip=stream_socket_get_name($socket,true);以上返回类似127.0.0.1:39872nginxserver{listen8443ssl;server_namewebsocket.example.com;ssl_certificate/var/ini/ssl/public.crt;ssl_certificate_key/var/ini/ssl/private.key;location/{proxy_redirectoff;proxy_passhttp://127.0.

php - 正确使用 socket_select()

在PHP中使用socket_select发送和接收数据的正确方法是什么?我连接到允许TCP和UDP数据包连接的服务器,我正在使用两者。在这些连接中,我在同一端口上发送和接收数据包,但TCP数据包将在一个端口(29999)上发送,而UDP数据包将在另一个端口(30000)。传输类型将为AF_INET。IP地址将环回127.0.0.1。我有很多关于如何在这种情况下创建套接字连接的问题。比如用socket_create_pair是不是更好建立连接,或者只使用socket_create其次是socket_connect,然后执行socket_select?有可能没有数据从服务器发送到客户端,由

PHP报错: some errors to screen,全部记录

我想知道如何在屏幕上显示E_ERROR错误消息,但将E_ALL错误消息写入错误日志,我们目前使用error_reporting()在我们的应用程序索引页面中,这样我们就可以更改错误报告而无需不断重新启动Web服务器,但似乎这(或者它的工作方式)意味着我们只记录我们看到的错误在屏幕上。有没有办法记录和显示不同级别的错误?干杯! 最佳答案 您可以创建一个自定义错误处理程序,并在您的错误处理程序中检查错误是否为E_ERROR;如果是这样,打印出来。然后记录错误,不管它是否是E_ERROR。如果您不熟悉自定义错误处理,PHPmanual有一

php - 这个 Facebook 错误 : "An error occurred with PHP SDK Unit Tests"? 的原因是什么

我在我的网站上使用Facebook登录并查看此示例:https://github.com/facebook/php-sdk/blob/master/examples/example.php当我在示例站点上点击“使用Facebook登录”时,出现错误:AnerroroccurredwithPHPSDKUnitTests.Pleasetryagainlater.知道为什么会发生这种情况吗? 最佳答案 我之前遇到过同样的错误(现已解决)。我犯的错误是使用旧方法调用FacebookAPI,即$appid='xxx';$secret='xxx

php - 如何针对跨域的 PHP session ID 对 Socket.IO 进行身份验证

我在node.mydomain.com上设置了一个节点/Socket.IO,在www.mydomain.com上设置了一个Apache/PHP堆栈。目前我正在用这样的东西做身份验证:Client:在连接时,发送自定义authorization事件,其中包括PHPSESSID到服务器服务器:在授权时,使用此cookie调用api.php获取用户信息,将此身份信息发送给客户端客户端:现在可以使用此身份执行操作这有点笨拙,因为Socket.IO有一个我想使用的身份验证位置(Onthiswiki)。问题是我不知道如何将PHPSESSIDcookie信息从客户端发送到服务器。它们位于不同的域中,

php - Symfony2 : Validating a date using the Form Validator returns error

我在我的表单中添加了一个类型为“日期”的元素,然后它有一个验证规则,该规则指定表单元素值必须是日期类型,否则返回错误。然而,Symfony并没有处理验证,而是返回了一个异常。见下面的代码:用户类型.php$builder->add('startdate','date',array('label'=>'StartDate','widget'=>'single_text','format'=>'yyyy-MM-dd'));验证.ymlAcme\StoreBundle\Entity\User:properties:startdate:-Date:message:Youmustspecifya

php - 在 Symfony 2 项目中安装 Doctrine 扩展会导致 fatal error

这就是问题所在:我没有成功安装带有symphony2的学说扩展,尤其是时间戳。我关注thistutorial我是如何进行的:我在deps文件中添加了这一行:[gedmo-doctrine-extensions]git=http://github.com/l3pp4rd/DoctrineExtensions.git[Stof-DoctrineExtensionsBundle]git=https://github.com/stof/StofDoctrineExtensionsBundle.gittarget=/bundles/Stof/DoctrineExtensionsBundle然后我

PHP Socket 服务器作为服务运行

我已经创建了PHP套接字服务器,并通过命令提示符在本地主机(127.0.0.1)中启动了它。即C:\xampp\php\phpserver.php这在本地主机上工作正常。但我的问题是我必须在域服务器中运行此server.php文件。我已将server.php文件复制到Web主机目录(http://example.com/server.php)并将ip地址更改为php文件中的域ip地址。现在的问题是当我在浏览器中运行文件时http://www.example.com/server.php套接字服务器启动正常,并在5分钟内被浏览器自动停止(错误500)。我如何通过命令提示符运行该serve

php - 替代 error_get_last()

我正在尝试调试在我大学的服务器上运行的php脚本。当前安装的php版本是5.1.6。据我了解,error_get_last()仅适用于版本>=5.2。我正在尝试回显失败的mkdir()调用的错误详细信息,我确定这是由所涉及目录之一的权限引起的。我希望错误消息能说明问题,但我找不到查看错误详细信息的方法,而且我认为我什至无法访问其他php错误日志来检查那里。我还有哪些其他选择? 最佳答案 您可以尝试制作自己的错误处理程序:#temporaryerrorhandlerfunctiontempErrorHandler($errNo,$er