Articles of PHP的

Apache / Linux Web服务器dynamic阻止传入的POST请求

Backstory :最近有人以某种方式破坏了与我的服务器连接的Xenforo安装,并注入了一个无限循环的PHP邮件()脚本。 它从域内向外界发送了数以千计的电子邮件,最终让我的域名从所有主要的电子邮件服务提供商列入黑名单,甚至没有注意到它发生了。 我发现这个文件被注入到论坛的caching和skin_cache目录中,并将其删除,并build立一个永久的redirect(使用php头redirect)到一个反垃圾邮件收集站点。 目前的问题 :我现在看到一个稳定的,无休止的POST请求stream向上述的垃圾邮件脚本。 知识产权每次都不一样,似乎永远不会停止。 这已经发生了两个星期了。 所以我的apache正在最大化MaxClients设置,并且遇到内存问题,并开始closures其他进程来弥补。 这是日志中显示的内容 : 190.40.7.126 – – [28/Mar/2013:18:58:30 -0500] "POST /forum/cache/sslFDoB.php HTTP/1.1" 200 3889 "-" "Mozilla/5.0" 190.104.19.189 – – [28/Mar/2013:18:58:39 -0500] "POST /forum/cache/sslFDoB.php HTTP/1.1" 200 3889 "-" "Mozilla/5.0" 78.251.159.173 – – [28/Mar/2013:18:58:57 -0500] "POST /forum/cache/sslFDoB.php HTTP/1.1" 200 3889 "-" "Mozilla/5.0" 219.78.213.10 – – [28/Mar/2013:18:59:09 -0500] "POST /forum/cache/sslFDoB.php HTTP/1.1" […]

如何在XAMPP linux中启用odbc

我正在一个PHP应用程序,其中用于数据库连接,我使用odbc。 该代码在Windows中正常工作,但是当我在Linux中尝试相同的代码时,我正面临着 致命错误未定义函数odbc_connect() 我认为这个错误是因为在XAMPP上没有启用odbc。 请告诉我如何在Linux下的XAMPP中启用odbc。 提前致谢

mod_fcgid + PHP + apachelocking

我运行一个相当典型的LAMP堆栈,通过mod_fcgid运行PHP。 考虑到接收的stream量,我认为服务器处于“高负载”状态。 有一个间歇性的问题,在访问依赖于PHP的站点时,Apache报告所有连接都处于“发送内容”状态(监视器上的“W”)。 没有PHP错误可以说,就好像PHP在这些“locking”期间实际上并没有被调用。 但是,在Apache网站日志中,我看到以下内容: (103)Software caused connection abort: mod_fcgid: ap_pass_brigade failed in handle_request function [warn] mod_fcgid: can't apply process slot for /var/www/cgi-bin/php.fcgi 在此期间,我仍然可以访问不依赖于PHP的网站,例如apache状态和仅限HTML的虚拟主机(不包含PHP处理程序)。 php.fcgi脚本具有PHP_FCGI_MAX_REQUESTS = 500集,因为我已经阅读了CGI模式下运行PHP的竞态条件问题。 fcgid.conf也有MaxProcessCount = 15的设置。 有没有其他人遇到这个错误,如果是的话如何解决?

为什么我的服务器不能使用PHP mssql_connect连接到远程MSSQL服务器?

我必须将我们为客户端编写的应用程序移动到新的服务器,并且使用PHP启动的远程连接mssql_connect已停止工作。 我注意到PHP没有用mssql编译,所以我要求服务器pipe理员安装它。 我可以validation它现在是通过PHP信息安装的,但现在我从mssql_connect获得了一致的“无法连接到服务器”错误。 这是我正在运行的非常简单的PHP脚本: $myServer = "myserver.com:5000"; $myUser = "myusername"; $myPass = "mypassword"; $dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Couldn't connect to SQL Server on $myServer. Error: " . mssql_get_last_message()); 我已经证实,证书仍然是正确的,但无论出于什么原因,似乎mssql_connect只是没有这样做的事情。 我想知道是否有pipe理员已经忘记了安装扩展和FreeTDS的东西。 任何指针非常感谢! 🙂 问题解决了!!! 毕竟事实certificate,这是FreeTDS协议版本号,如在/usr/local/freetds/etc/freetds.conf中所指定的,第13行必须是未注释的。 就是这样! 🙂

ImageMagick转换工作在命令行,但不是通过PHP exec()

我正在使用PHP的exec()来使用ImagicMagick的convert图像。 这是在CentOS服务器上运行的。 exec(convert http://img.zgserver.com/php/logo3w.png.jpg -resize 640 /home/mysite/public_html/public/img/posts/original/1414_301a4.jpg); 使用exec()不会使新图像出现在目标文件夹中。 但是,如果我要在shell中运行相同的命令,那么这个命令完美无缺! 我相信这是一个PATH问题。 如果是这样,我该如何检查PHP正在使用的path,以及如何在PHP中设置正确的path?

如何将audio文件(即时)转换为浏览器?

我希望能够将audio文件转换为MP3到用户浏览器上。 我使用的软件是:在Ubuntu系统上的Apache,PHP和FFMPEG。 这是我到目前为止的代码: <?php header("Content-Transfer-Encoding: binary"); header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3"); passthru('ffmpeg -i song.flac -v 0 -ab 320k -f mp3 -'); ?> 有了这个代码,只有audio的前几秒被转换,但是,当我注释掉头function,audio文件被完全转换,但所有的二进制数据传递到屏幕(而不是包装在浏览器的MP3播放器)。 有什么想法吗?

在后台使用&PHP不能正常工作

我在Ubuntu 13.04上使用这个代码, $cmd = "sleep 20 &> /dev/null &"; exec($cmd, $output); 虽然它实际上坐在那里20秒,并等待:/通常它使用&将过程发送到背景时工作正常,但在这台机器上php不会这样做:/ 可能是什么原因造成的?

我可以从PHP调用python脚本或function

我有PHP页面列出备份与文件名和用户名。 备份是用python脚本完成的,但是用于web界面的我用php。 现在我想把设备放在网页上,在备份文件名旁边会出现一个名为restore的button,所有的home目录内容都被replace了。 我可以使用备份文件名,用户名等参数作为python函数,并恢复备份。 但我不知道如何通过PHP将variables传递给python

如何在不更改代码的情况下为Symfony2设置php CLI版本?

我的设置 共享主机 没有root权限 shell访问 symfony 2.1 部署资源(至less,这是计划) build_bootstrap.php使用 #!/usr/bin/env php 这是链接到php4 cli中 /usr/local/bin/php PHP4当然不起作用。 php 5.3 cli在 /usr/local/bin/php53 是否有一个中心位置告诉Symfony 2.1改变环境? 与Putenv的东西? 在bashconfiguration文件中导出path? 更新: 我现在使用@ascatontheflatbuild议在我的bashrc中使用别名。 不幸的是,Symfony带来了自己的逻辑在哪里寻找的PHP二进制文件。 一种select是通过putenv设置PHP_PATH。 我将它添加到app / console和app / autoload.php中,因为这两个文件都涉及Capifony任务

Magento Cron标签作业时区

我试图找出我的模块cron是否在正确的时间运行。 我的模块的cron设置为凌晨1点(0 1 * * *),默认商店的时区是西欧(巴黎,柏林等GMT +2),服务器时间是EDT(东部夏令时)。 那么基于哪个时区是凌晨1点? 谢谢,