草庐IT

start-server

全部标签

php - session_start() 在发送输出后工作

我刚刚注意到一些奇怪的事情。我认为,正如PHP手册所说,必须在将任何输出发送到浏览器之前调用session_start():Tousecookie-basedsessions,session_start()mustbecalledbeforeoutputinganythingtothebrowser.因此,出于好奇,我创建了两个脚本。一个是write.php:另一个是read.php:令人惊讶的是,即使在echoingfoo之后,session也会被写入和读取。但是,如果我在echo之后添加对flush()的调用,Apache的错误日志报告:[TueJan0311:57:212012]

php - 从命令行执行脚本时,即使使用 ob_start() 也会将输出打印到终端

我写了一个小的命令行脚本来处理文档[一个带有lilypond乐谱插入的markdown文件,只是为了完整起见]。#!/usr/bin/envphptemplate.php...当我打电话时:$./phlilysource.md文件正确生成,但模板内容也打印到控制台:GNULilyPond2.14.2Processing`/Users/.../phlily/ly/4add05a74d249f34b3875ef6c3c1d79763927960.ly'Parsing...ConvertingtoPNG......这很烦人,因为我想从LilyPond脚本中读取错误和警告,因为它们被埋在终端的

php - ob_start echo 的字符串仍然输出

我希望ob_start()不让echo的输出到它们的正常目的地,而是只记录它们的内容。但它似乎并没有这样做。有任何想法吗?这是我的代码:测试仍然被回显。它也是var_dump'd,但我不希望它被回显。有什么想法吗?谢谢! 最佳答案 输出缓冲区会在脚本结束时自动刷新,因此这是预期的行为。您正在寻找ob_get_clean(),在清除之前返回当前缓冲区:$out=ob_get_clean(); 关于php-ob_startecho的字符串仍然输出,我们在StackOverflow上找到一个类

"start of string or pattern"的 PHP 正则表达式

这个问题在这里已经有了答案:Regexlookahead,lookbehindandatomicgroups(5个答案)关闭9年前。有没有办法(除了进行两个单独的模式匹配)在PHP中使用preg_match来测试字符串或模式的开头?更具体地说,我经常发现自己想要测试我是否有一个匹配模式,它前面没有任何内容,如preg_match('/[^x]y/',$test)(也就是说,如果y前面没有x,则匹配它),但如果它出现在$test的开头,则也匹配y(当它前面也没有x,但前面没有任何字符,因此[^x]构造将不起作用,因为它始终需要一个字符来匹配它。在字符串末尾也有类似的问题,以确定是否出现了

php - 发生错误时 ob_start 被中断

所以ob_start()应该捕获输出,直到另一个缓冲区函数被调用,如ob_get_clean(),ob_get_contents(),ob_get_flush()。但是当缓冲区读取器中抛出异常时,它将通过停止读取器并回显输出而不是继续捕获它来影响读取器。这就是我要防止的。假设这是我的脚本:Someerroroccured:".$e->getMessage();//print_r($e);}?>此脚本将输出:Idon'twannaoutputthiswhatsoever,sowanttocacheitinavariablewithusingob_functionsSomeerrorocc

com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接

com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法通过使用安全套接字层(SSL)加密与SQLServer建立安全连接驱动版本最新JDBC驱动下载地址:JDBCdriver6.4forSQLServer(https://www.microsoft.com/zh-CN/download/details.aspx?id=56615,由图中可以看出,最低仅支持JRE7和SQLServer2008,需要其他版本请自行查找)1.SQLSERVER2000JDBC驱动程序:msbase.jar、mssqlserver.jar、msutil.jar。这

php - 访问Vagrant box中的错误日志查看 'internal server errors'

我有一个vagrantbox设置,我想调试我在Magento应用程序中收到的一些“500内部服务器”错误我在我的目录结构中看到了日志文件夹,但在这个目录中看不到任何access.log或error.log文件,我需要什么来打开它吗? 最佳答案 记住错误的日志文件是exception.log,通知/警告是system.log。这两个文件都在您的magento安装的var/log下。有时magento无法捕获错误。在这种情况下,错误要么打印到浏览器,要么保存到Apache日志。查看/var/log/apache/下的apache日志(文

php - 通过 https : SSL3_GET_SERVER_CERTIFICATE 使用 php 加载外部 xml 文件时出错

我无法加载xml文件。这段代码效果很好:$url='http://www.w3schools.com/xml/note.xml';$xml=simplexml_load_file($url);print_r($xml);但是这个$url='https://www.boardgamegeek.com/xmlapi2/thing?id=105551';$xml=simplexml_load_file($url);print_r($xml);没用。我收到此错误:Warning:simplexml_load_file():SSLoperationfailedwithcode1.OpenSSLE

php - SoapClient 调用返回 500 Internal Server Error

我正在尝试使用PHP及其内置的SoapClient连接到API。我已经检查了通过客户端提供的格式错误的文档提供的url,$client->__getFunctions()返回了三个函数的列表。HelloWorld($name)以Hello~name~响应,向我表明我正在通过SoapClient调用与服务器通信并且URL是正确的。但是,当我尝试访问__getFunctions()给我的其他方法之一时,即使在从文档中复制/粘贴XML并输入我自己的凭据之后,我仍然给定InternalServerError故障字符串和500作为来自SoapFault对象的故障代码。我确信是我自己的XML字符串

PHP-FPM 错误日志显示 "Not a JPEG file: starts with 0x47 0x49"

在我的PHP-FPM日志文件中,我有很多行如下所示[18-Sep-201603:59:06]WARNING:[poolwww]child5425saidintostderr:"NotaJPEGfile:startswith0x470x49"这是什么意思? 最佳答案 这是一个commonerror.看起来你正在用imagecreatefromjpeg打开一个文件,但它不是jpeg,它是一个gif文件,看看thisnote关于起始字节。 关于PHP-FPM错误日志显示"NotaJPEGfil