我现在想知道,我开发了一个帮助台系统,而不是使用PHP的imap库连接到configuration的邮箱,并“拉”通过邮件,并根据内容创build票据。 但是,唉,我遇到了一个问题,我们的应用程序部署在PHP的一些服务器没有编译–with-imap-ssl标志。 我首先想到的解决scheme也是: 通过SSHlogin到每个服务器 执行php-config复制构build标志 使用–with-imap-ssl标志和上一步中的所有其他标志重新编译php 但是,有些客户端可能不会让我们重新编译PHP,因为他们正在将其用于其他应用程序。 而且这也是DevOps Nightmare的一点,因为我们必须在Night上这样做,以确保没有人使用他们的服务器,并让他们知道我们将重新编译php,所以我们将禁用Apache $ N这个过程正在发生。 然后我想另一个解决scheme是: 获取在服务器上运行的所有不同版本的PHP 确保所有openSSLpath与/usr相同 分开一个vm的foreach风格的Linux(CentOS / Ubuntu) cd /tmp && wget ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz或者获取任何其他版本的IMAP人正在运行。 tar xzf imap-2007f.tar.gz sudo mv imap-2007f /usr/local 编译imap 下载所有需要的PHP版本 使用–with-imap-ssl标志进行编译 然后,我们将具有所需的“imap.so”文件,我们将需要该特定的 PHP版本 scp该imap.so文件到客户端服务器,并重新启动Apache然后PHP将希望有imap-ssl的支持,而不会破坏服务器上的其他任何东西。 现在的问题是: 有一个更好的方法吗 ? 这些方法会起作用吗? 遵循什么步骤来自动执行此过程?
我有一个Apache2服务器上运行的PHP应用程序。 我开始使用HTML5 Boilerplate,而.htaccess包含所有图像的“1个月”过期策略。 例如: ExpiresByType image/jpeg "access plus 1 month" 我的应用程序还允许用户用新的(在相同的名称和path下)replace现有的图像。 但是,一旦被replace,用户将继续看到旧的图像,直到页面被强制刷新(比如Ctrl – F5 )。 我从日志中注意到,从技术上讲,由于映像设置为从现在起1个月后过期,所以浏览器不会向服务器请求。 只有在浏览器强制刷新的时候,Apache2才会发出一个304 (如果文件没有改变),或者发送一个新的图像(如果改变的话)。 我想要的是一个简单的直接机制: 保持图像从现在起1个月到期的现有设置。 如果浏览器已经拥有它,则不需要获取它。 但是,如果图像被用户更新,则自动让浏览器获取新图像。 应该没有必要告诉用户强制刷新。 最后一点之后,新图像的获取还必须扩展到其他用户或其他浏览器。 作为替代,我不介意是否可以有条件地将过期策略设置为“立即”用于特定path(其他文件夹中的图像必须遵循一般过期策略)。 我可以和众多的304一起生活。 我猜。 我不想简单地改变一个新的文件名。 文件名是dynamic生成的,有几个 – 跟踪他们的“新名字”会增加复杂性。 (虽然如果没有其他简单的解决scheme,我将不得不探讨这一点。)
我一直在阅读关于这个主题的各种信息。 我刚刚在我的Fedora 22盒子x64上安装了Wordpress。 安装完成后,我可以访问该网站,但无法更新插件。 到目前为止,我看到了两个不同的方向: 1)build立它所要求的FTP服务器,给它正确的loginvalidation细节 我开始朝这个方向前进,但是当它不接受适当的证书时,真的碰到了一堵砖墙。 然后,在一个旧的堆栈溢出后,我发现 2)添加define('FS_METHOD', 'direct'); 到wp-config.php 这两个问题都是围绕文件系统权限问题。 我试过改变/ var / www / html的所有者。 在安装过程中(我按照这里的说明)指示说将所有权和组设置为apache:apache。 它还表示要改变这些目录的SELinux策略。 我已经尝试将所有权更改为几个不同的东西,包括我的用户,www-data,www_data以及人们在networking上提供的所有其他内容。 然而,没有任何改变,直到我把上面的行添加到wp-config.php。 它不再要求FTP凭据,但它仍然失败,并且它仍然几乎肯定是因为权限。 许多文章说,将所有权更改为运行php或php-fpm进程的用户 – 但是这些文件没有运行! 尝试ps aux | grep php ps aux | grep php和也尝试与sudo,但唯一的结果显示的是寻找PHP的grep过程。 我在这里有一个障碍:我应该回溯,再次尝试FTP方向,还是有另一种方法来解决权限问题? 我甚至不知道在更新或安装插件时要创build哪个文件夹。 我做了一个sudo find / -name wordpress来查看/ var / www / html之外是否有其他文件夹,其中只有其他文件夹名称是mysql目录。 另外,我不确定这是不是这个post的正确位置,但它似乎是最合乎逻辑的(因为它与Wordpress / Apache服务器有关,而不仅仅是Unix / Linux本身),但是可以随意移动它我把它放错了。 谢谢你提供的所有帮助。 编辑:也尝试添加此define( […]
我正在部署一个使用lighttpd的PHP网站。 为了得到漂亮的URL,我把它放到configuration文件中: url.rewrite = ( "^/(?!(wp-admin|wp-includes|wp-content))/(.*)" => "/index.php?$1", ) 除了下面的副作用,这个效果很好。 当我调用url.rewrite中的正则expression式不匹配的path并调用$_SERVER['HTTPS'] ,它将返回"on" 。 当我调用正则expression式匹配的path并调用$_SERVER['HTTPS'] ,它将不会返回任何内容。 如何告诉PHP使用url.rewrite时连接是安全的?
我有一个configuration如下的VPS服务器 2核CPU 2GB RAM 50 SSD Centos 7 Web面板:Sentora 从上周开始,我面临着高CPU使用率。 大多数网站是WordPress的。 打开运行PHP代码的每个页面或pipe理页面时,CPU使用率将达到50-60%。 如果同时在WordPress网站上开发3个或4个,服务器需要大量的时间来加载网站 通过运行'top'命令,我发现apache正在使用这么多的CPU。 Ram几乎稳定。
suhosin启用。 suhosin删除请求/获取variables。 日志只是告诉我除了被丢弃的variables的原始值之外的所有东西。 ALERT – dropped 1 request variables – (1 in GET, 0 in POST, 0 in COOKIE) (attacker 'xx.x.xx.x.x', file '/html/index.html') ALERT – configured GET variable value length limit exceeded – dropped variable 'url' (attacker 'xxxx', file '/html/index.html') 我如何查看掉落的variables的原始值?
我有关于sendmail的问题,我已经search了类似的问题,但找不到任何有用的东西。 我目前正在用sendmail使用服务器(带有LAMP堆栈的Debian),在网站上发送用户注册的validation邮件。 这通常工作正常,Gmail例如收到邮件,一切正常完美。 但是我最近发现,用雅虎它根本不起作用,邮件似乎没有被雅虎收到。 所以我自己build立了一个雅虎帐户进行testing,并观察了以下行为,我尽可能详细地描述: 我使用下面的PHP代码片段来发送邮件: $toEmail = '…'; $subject = '…'; $message = '…'; $headers = array(); $headers[] = "MIME-Version: 1.0"; $headers[] = "Content-type: text/plain; charset=utf-8"; $headers[] = "From: [email protected]"; $headers[] = "Subject: {$subject}"; $headers[] = "X-Mailer: PHP/".phpversion(); if(mail($toEmail, $subject, $message, implode("\r\n",$headers))) { return TRUE; } 我得到了一个在服务器上工作的sendmail安装,处理来自PHP的邮件命令。 如上所述,除了雅虎之外(几乎所有我不知道的其他人),这对于几乎所有的地址都是完全正常的。 使用触发发送邮件的网站上的表格,我几秒钟内收到邮件。 以下是/var/log/mail.log显示的日志 May 3 14:19:12 btfmx5 […]
我在一个debian wheezy系统上的apache,php安装程序中遇到了一个非常糟糕的行为。 当我尝试使用php创build图像并直接输出时发现。 它永久失败,浏览器说。 像腐败的图像文件。 经过大约3个小时的尝试和错误,我发现有一个TAB字符在开始时添加了我的图像内容,这不属于那里。 为了certificate它的apache-php设置的一部分,我创build了一个test.php文件,它只包含字母“a”,并将此文件复制到test.html。 所以这两个文件只包含字母a。 你可以在这里看到结果标签: http://www.activeroom.net/test.php http://www.activeroom.net/test.html 甚至在基本的url本身 – 它也是一个php文件。 希望有人能指出我正确的方向。 顺便说一句。 在控制台上一切都很好:php test.php只是返回一个。 也许这是一般的Apache MimeTypes或标题?!
我只是想通过php(ldap)访问Active Directory-Server,以便能够使用Windows凭据进行网站login。 我在连接到虚拟机中的Windows Server 2012 R2的标准Windows上使用xampp执行此操作。 现在转向生产,我担心安全问题: 运行php的服务器必须访问Windows / AD / LDAP-Server。 但是我读到,离开从外部访问的login服务器会产生大量的暴力攻击,试图获得一些密码。 大公司,大学和学校仍然允许你在家login你的工作账户。 他们如何做到这一点没有留下一个大的安全漏洞? 除PHP / LDAP之外,还有其他的select吗,他们是否将networking服务器的IP列入白名单(我怎么做?),或者他们在同一台服务器上运行Web服务器和AD(我怎么做)?
这与几年前我问过的一个老问题有关 ,对此我从来没有得到正确的答案。 我只是build立一个新的服务器(Ubuntu 16.04,Nginx 1.10,PHP 7),并回到这个。 我有一个Question2Answer实例运行在一个子文件夹中,其他PHP代码从根目录运行。 对于根的东西,我有这在我的服务器块: location / { try_files $uri $uri/ /index.php?$request_uri; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } 对Q2A来说,我在旧服务器上所拥有的是: location /qa/ { if (!-e $request_filename) { rewrite ^/qa/(.*)$ /qa/index.php?qa-rewrite=$1 last; } } 这是行得通的,但我不认为这是应该如何做(如果是邪恶等)。 我确定只能使用try_files 。 我试过这个: location /qa/ { try_files $uri $uri/ /qa/index.php?qa-rewrite=$uri&$args; } 但是它不起作用,因为/qa/在qa-rewrite传递。 它应该只是通过path后的一切。 有没有办法从$urivariables中删除/qa/ ? […]