Articles of PHP

Chromecaching302redirect

我有一个PHP脚本,用于在网站上旋转横幅图像。 在Firefox / IE页面刷新下将会有另一个请求和一个不同的图像被返回。 在Chrome浏览器下,请求似乎被caching,只有在新选项卡中打开页面才会实际查询脚本。 我相信这曾经工作在旧版本的铬,我已经尝试了几个不同types的redirect代码都具有相同的结果。 有小费吗? <img class="banner" src="/inc/banner.php" alt=""> ~$ cat /var/www/inc/banner.php <?php header("HTTP/1.1 302 Redirect"); header("Cache-Control: max-age=0, no-cache, no-store, must-revalidate"); //header('HTTP/1.1 307 Temporary Redirect'); //header("expires: none"); //header("expires: max"); //header("Cache-Control: public"); $folder = '../img/banner/'; $exts = 'jpg jpeg png gif'; $files = array(); $i = -1; if ('' == $folder) $folder = './'; […]

在centos 6.3上安装xdebug for php 5.3.17(final)

我真的很难find如何在centos 6.3上安装php 5.3.17的xdebug。 我已经尝试过这个链接 (对于Centos 5.6来说),但没有运气。 任何人都可以指向正确的RPM存储库或YUM命令吗? 非常感谢

php.ini的变化没有任何影响

当我对位于/ usr / local / lib中的php.ini进行任何更改时,这些更改似乎没有应用,例如,当我清除php.ini的所有内容并重新启动Apache时,一切正常。 .. 我search了php.ini,并在系统中的一个地方…有什么问题? 我怎样才能解决这个问题?

更改php错误报告,只隐藏特定网站的警告

想象一下,可以从/etc/apache2/sites-available sites-enabled一些sites-enabled 。 (只有基于Debian的发行版才能这样工作。) 是否有可能从一个特定的站点的 PHP脚本静音warning消息,而不触及实际的htdocs ? 通常有几个解决scheme来实现相关的: 添加一个error_reporting()指令,例如error_reporting(E_ERROR); 到执行的脚本。 在.htaccess文件中设置php_flags,如下所示: php_flag display_errors off 在脚本中使用ini_set : ini_set('display_errors', 'Off'); ini_set('display_startup_errors', 'Off'); error_reporting(0); 将@预先标记为引发警告或错误的函数。 改变php.ini实际上说 error_reporting = E_ALL ^ E_WARNING display_errors = 1 但是,这些都意味着触及全球或者有所改变。 想象一下, htdocs是只读的。 我将如何压制某些网站的警告(或通知)? 我假设Debian / Ubuntu有a2ensite特定的configuration,有一个原因,我希望我可以改变这些。 示例“站点可用”configuration中有一个log_level指令,但是这处理了logging的消息数量。 不是由PHP脚本输出的消息。 手动添加部分在php.ini或apache2.conf或httpd.conf也将工作。 如果可能。 也可以看看: http://www.php.net/manual/en/function.error-reporting.php

描述`strace`命令输出

我有PHP过程不能完成超过2天。 root 26511 0.0 1.6 407788 27684 ? Ss Jul09 0:08 /usr/bin/php action.php 这是strace命令的输出: poll([{fd=7, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 1000) = 0 (Timeout) poll([{fd=7, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout) clock_gettime(CLOCK_MONOTONIC, {5533745, 664851437}) = 0 clock_gettime(CLOCK_MONOTONIC, {5533745, 664940247}) = 0 clock_gettime(CLOCK_MONOTONIC, {5533745, 665211013}) = 0 poll([{fd=7, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 1000) = 0 (Timeout) poll([{fd=7, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = […]

代码注入内部PHP文件777权限

我醒来发现,在我的共享networking主机777权限的所有文件夹有两个新的PHP文件。 该文件内的代码无法读取 – 这里是解码版本: http : //pastie.org/779226 (什么…?)该代码甚至被注入一些PHP文件。 我不知道如何有人会这样做? 我知道拥有777权限并不是最聪明的,但是他们是如何进入我的文件夹系统的。 我只是一个客户端程序员,如果我有一些关于如何避免这种情况发生的build议,那将是非常好的。 干杯。

如何一次更新FreeBSD上的PHP及其所有模块?

基本上,我通常做这样的事情: # portsnap fetch # portsnap update # portmaster -L | grep -B1 "New version" ===>>> php5-5.2.11 ===>>> New version available: php5-5.2.12 # portmaster php5-5.2.11 但是用PHP我已经有了大约40个模块,并且需要一个接一个。 有没有更好的(和安全的)方法来做到这一点? 编辑:事实certificate,这是需要什么: # portmaster php5-extensions 这真是太难以发现!

如何在CentOS 5.6上构build缺less的PHP 5.3扩展

我创build了CentOS 5.6的全新安装,并使用CentOS资源库中的php53-*软件包安装了PHP 5.3。 具体来说,我有: php53 php53-CLI php53常见 php53-devel的 php53 MySQL的 php53-PDO php53的XML 不过,我还需要为我的应用程序安装mcrypt和apc扩展。 CentOS有一个预先构build的php-mcrypt包,但是没有相应的php53-mcrypt 。 APC的安装需要pecl ,我通常使用php-pear软件包来安装(5.1版本),但是似乎也没有php53-pear软件包。 我如何build立这些? 编辑它看起来像php-pear包使用php53 ,所以我设法正确安装APC。 我仍然有一个问题与mcrypt因为它不能通过pecl安装; 它只是核心PHP构build的一部分。

禁用PHP弃用警告和通知

我一直在使用和configurationPHP,但现在我陷入了一个奇怪的问题,所以我会问你们的帮助。 我不希望在生产服务器中看到弃用警告和声明,但是我希望看到其他错误消息,例如语法错误。 我在Ubuntu 10.10上用Suhosin-Patch运行PHP 5.3.3-1ubuntu9.3 在我的/etc/php5/apache2/php.ini我有以下行: error_reporting = E_ALL&〜E_DEPRECATED&〜E_NOTICE 我重新启动了networking服务器。 在虚拟主机configuration中没有php_admin_value这个configuration搞乱,在文件夹中没有任何.htaccess文件。 尽pipe如此,弃用警告和通知仍然显示。 任何人都可以帮忙 先谢谢你!

在PHP版本中,VC9代表什么?

我需要知道VC在PHP版本中代表什么: VC9 x86非线程安全(2011-Nov-10 19:52:12)