Questions tagged «php»

PHP是一种通用脚本语言,特别适合于Web开发。在线手册是有关语言语法的绝佳资源,并且具有大量内置和扩展功能列表。大多数扩展都可以在PECL中找到。

11
.htaccess无法正确重定向到www前缀的页面
我正在尝试不使用www重定向网址。到www.version(从example.com到www.example.com)。我用平常的 RewriteCond %{HTTP_HOST} ^example\.com [nc] RewriteRule (.*) http://www.example.com/$1 [R=301,L] 这适用于我所有其他项目。但是,在此特定站点上,它以重定向循环结尾。这是一个很奇怪的部分:我试图卷曲非www版本,以查看它使用了什么标题 curl --get http://example.com --dump-header domain.header > domain.html。头文件如下所示: HTTP/1.1 301 Moved Permanently Date: Mon, 06 Jun 2011 14:45:16 GMT Server: Apache/2.2.16 (Debian) Location: http://example.com/ Vary: Accept-Encoding Content-Length: 310 Content-Type: text/html; charset=iso-8859-1 但是,生成的HTML文件是这样的: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved …

2
我的服务器设置了频繁使用的API
我很快将为即将启动的应用程序购买一堆服务器,但是我对自己的设置感到担心。我感谢收到的任何反馈。 我有一个应用程序,它将利用我编写的API。其他用户/开发人员也将使用此API。API服务器将接收请求并将其中继到工作服务器上。该API将仅保存一个mysql db请求,用于记录目的,身份验证和速率限制。 每个工作服务器执行不同的工作,并且在将来扩展时,我将添加更多工作服务器以进行工作。API配置文件将被编辑以记录新的工作服务器。工作服务器将进行一些处理,一些服务器将图像的路径保存到本地数据库,以供以后由API检索以在我的应用程序中查看,一些服务器将返回过程结果的字符串并将其保存到本地数据库。 此设置对您而言看起来有效吗?有没有更好的方法来进行重组?我应该考虑哪些问题?请参见下图,希望它有助于理解。

8
如何在CentOS上安装PHP 5.3?
我必须在CentOS服务器上安装PHP 5.3。如果这样做yum install php,则基础存储库将安装5.1.6,对于我需要安装的应用程序而言,该版本太旧了。因此,我一直在按照IUS的官方说明尝试使用IUS存储库: root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-2.ius.el5.noarch.rpm root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm 好。现在,我只需yum install php53为我需要的全部执行操作...,但出现此错误: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Check Error: file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64 file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 …

6
查找发送邮件的php脚本
有什么办法让我找到发送电子邮件的PHP脚本。 我在“标准”安装中安装了apache + php(没有mod_suphp或suexec),我想找出女巫php脚本正在发送电子邮件,当我检查日志时,我只是看到正在发送电子邮件的用户的uid(在我的案例apache),但我想找出源自电子邮件的脚本。 有可能还是我必须安装suexec或mod_suphp才能保持跟踪? 寻求帮助。
9 apache-2.2  php  email 

5
PHP 5.3.1未定义符号:Apache启动时出现OnUpdateLong错误
我正在此服务器上运行Ubuntu 8.04。我通过软件包管理器安装了PHP 5.2。我删除了它以手动安装PHP 5.3.1。我像这样构建软件包 ./configure --prefix=/opt/php --with-mysql --with-curl=/usr/bin --with-apxs2=/usr/bin/apxs2 make make install 这在/ opt / php /中安装了PHP 5.3.1 $ php -v PHP 5.3.1 (cli) (built: Dec 7 2009 10:51:14) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies 但是,当我尝试启动Apache时,我得到了这个。 # /etc/init.d/apache2 restart * Restarting web …
9 apache-2.2  php 

4
如何--enable-dom而无需重新编译PHP?
从的输出phpinfo(),--disable-dom都包括在配置命令。如何在--enable-dom不重新编译PHP的情况下将其更改为? 编辑:我正在使用Fedora10。我正在使用的PHP是它附带的PHP。
9 php 

2
如何使所有URL通过单个PHP文件运行?
这些形式的URL的MVC系统如何通过单个index.php文件强制所有请求? http://www.example.com/foo/bar/baz http://www.example.com/goo/car/caz/SEO-friendly-name-of-the-object http://www.example.com/hey/you 编辑:当我尝试下面的重写规则时,出现此错误: [error] [client 127.0.0.1] Invalid URI in request GET / HTTP/1.1 [error] [client 127.0.0.1] Invalid URI in request GET /abc HTTP/1.1 编辑:哦,这是/index.php的完整内容。当我删除重写规则时,它将输出“ /”或“ /index.php”,否则我将得到404。 <?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?> 已解决:我在重写规则的index.php前面添加了一个/,然后它起作用了: 再次解决:原来只需要/,因为我正在运行2.2.4。当我升级到2.2.11时,不再需要/。

3
mod_rewrite不转发GET参数
我在开发计算机上使用mod_rewrite设置Apache时遇到问题。Mod_rewrite是活动的,并且对于某些规则非常有效。某些规则不符合预期,例如: RewriteRule ^static/([^/]+)/([^/]+) /static.php?sISOCode=$1&sPage=$2 在static.php中,我这样做(用于调试): <?php print_r($_GET); print_r($_POST); print_r($_SERVER); die(); 哪个打印(从$ _SERVER数组中删除了一些项目): Array ( ) Array ( ) Array ( [SERVER_SIGNATURE] => <address>Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch Server at alpha.prove.no Port 80</address> [SERVER_SOFTWARE] => Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch [SERVER_ADDR] => 127.0.0.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 [DOCUMENT_ROOT] => …

1
如何强制完全清除PHP7 opcache?
我的网络服务器上的opcache不断达到我设置的极限,即使我觉得我没有那么多的PHP代码,并且它确实应该有足够的空间。 即使清除操作缓存,它也会立即显示超过2/3的可用空间被填充,这一事实使情况更加复杂。 现在的示例: 运行opcache_reset()之前的phpinfo代码段: Used memory 122958472 Free memory 5552 运行opcache_reset()之后的phpinfo片段: Used memory 90691312 Free memory 43526416 我知道在PHP7中,(显然)将opcache备份到了磁盘上,所以可能正在自动重新加载内容?但这似乎无法达到重置操作缓存的目的,而且我不知道操作缓存将备份到磁盘上的哪个位置,因此无法检查。 我正在nginx上运行PHP-FPM,准确地说是vesion 7.0.15-0ubuntu0.16.04.4。
9 php  php-fpm  php7  opcache 

6
PHP配置未找到LDAP标头库
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为服务器故障的主题。 2年前关闭。 我安装了LDAP开发标头: apt-get install libldb-dev 这添加了一些ldap标头: root@crunchbang:/usr/include# ls -la ldap* -rw-r--r-- 1 root root 9466 Apr 23 2013 ldap_cdefs.h -rw-r--r-- 1 root root 1814 Apr 23 2013 ldap_features.h -rw-r--r-- 1 root root 65213 Apr 23 2013 ldap.h -rw-r--r-- 1 root root 9450 Apr 23 2013 ldap_schema.h -rw-r--r-- …
9 linux  php  ldap 

4
.htaccess在负载均衡器后面是否有REMOTE_ADDR的RewriteCond?
我在负载均衡器后面有一个Web服务器。 我需要在我的.htaccess中添加条件重定向,以便在我们使站点离线进行维护时显示维护页面。这部分很简单: RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.php [R=302,L] 但是,我想补充一点,如果访问者的IP地址是我自己的,则它不会将我重定向到维护页面,并且可以像正常在线一样查看和测试该站点。这部分通常也很简单: RewriteEngine on RewriteCond %{REMOTE_ADDR} !^11\.111\.111\.111 RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.php [R=302,L] 但是,由于我的Web服务器位于负载均衡器的后面,REMOTE_ADDR因此解析为负载均衡服务器的内部IP地址。 如何更改此地址以查找转发的IP地址?我知道在PHP中您可以$_SERVER['HTTP_X_FORWARDED_FOR']用来获取转发的IP地址。我已经尝试了几件事,.htaccess但是没有运气: %{X_FORWARDED_FOR} %{HTTP:X_FORWARDED_FOR} %{HTTP_X_FORWARDED_FOR} 解 我有以下工作: %{HTTP:X-FORWARDED-FOR}

1
/ hack / bin / host由被黑的PHP脚本执行
今天,我注意到Apache Web服务器上的请求率异常高,并且传入网络流量也很高。检查Apache的mod_status页面后,我发现有问题的URL来自path www.server.com/www/wp-includes/js/tinymce/plugins/wpautoresize/。确实,我在那里发现了一些被黑(混淆)的PHP脚本。 还注意到www-data用户执行的奇怪过程: www-data 7300 10.8 0.1 2122900 18768 ? Ssl Jul11 121:47 /usr/bin/host 检查/proc/7300/cmdline发现确实这是原始/usr/bin/host二进制文件。netstat -anp显示它打开了许多HTTP连接,因此以某种方式滥用了二进制文件。debsums确认二进制校验和正常。由于该过程是在www-data用户下运行的,因此我没有理由相信服务器本身受到了损害。 该二进制文件如何被滥用? 编辑:这不是广泛的“如何处理受感染的服务器”的问题。而是关于一种特定类型的滥用在技术上如何进行的问题(并且已经是一个答案),因为这种特殊情况在其工作方式上颇具创意。看来这已经流行了好几年(2012年的旧话题和问题),我本周遇到了它。
8 php  bind  abuse 

3
为什么Apache疯狂运行并杀死MySQL?
在过去的几天里,Apache失去了控制,并使MySQL崩溃了两次。当我迁移了一个WordPress网站(其中还包含一个phpBB论坛)时,一切就开始了。 我在服务器管理方面经验不是很丰富,因此很难确定导致问题的原因。当我注意到MySQL关闭时,我运行TOP,看到系统负载激增至98.00。该服务器运行10个V-HOSTS,所有这些都接收到正常的流量,因此我显然看到许多apache-2进程正在运行。 高服务器负载持续10分钟,然后恢复到正常状态。在这一点上,我没有看到网络流量激增。 不幸的是,MySQL错误日志记录被禁用(现在已重新启用),因此那里没有任何线索。但是我很确定这是因为Apache正在消耗所有资源,所以MySQL进程ID被杀死了。 我的问题是: 下次发生这种情况时-如何识别导致系统负载峰值的原因?难道是一个疯了的php脚本?可能是DDOS攻击? 有没有办法在崩溃时自动重新启动MySQL? 我现在已经安装好了htop。会比这有用top吗? 这是我的服务器统计信息: m1.xlarge (8 ECUs, 4 vCPUs, 15 GiB memory, 4 x 420 GiB Storage Capacity) Ubuntu Server 12.04.3 LTS


4
APC,XCache或eAccelerator?我应该为Wordpress使用什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在尝试为Wordpress网站配置服务器。我应该使用什么进行操作码缓存?APC,xcache或eAccelerator?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.