Articles of PHP

在共享主机上重写:子域名作为用户名PHP

我有以下configuration: 我已经build立了一个logging: * .mywebsite.com IN A [IP ON HOSTIN – 共享] 抓取子域的重写规则如下所示: RewriteCond %{HTTP_HOST} ^(^.*)\.mywebsite.com RewriteRule (.*) dostuff.php?username=%1 当我尝试访问任何子域名:bla.mywebsite.com我得到这个:mywebsite.com/cgi-sys/defaultwebpage.cgi 任何想法是怎么回事?

PHP:如何在open_basedir中用PATH_SEPARATOR指定目录名?

在非Windows系统上PHP的PATH_SEPARATOR常量是一个冒号…不幸的是,我不得不处理一个正在运行的系统,这个系统有很多现有的虚拟主机和名称都是冒号的目录(它们包含标准abcd中的ip地址和端口:p符号)。 我们有一个新的命名scheme没有冒号的path,但我不能在一夜之间切换现有的虚拟主机。 是否有可能以某种方式逃避冒号或find一种方法来指定在PHP的open_basedir目录名称? 我想要构buildApache VirtualHostconfiguration,例如: php_admin_value open_basedir "/w/1.2.3.4:80/www.acme.com/htdocs" 我们目前正在运行PHP-5.3.15作为Apache-2.2.23的一个模块 编辑:我曾尝试过,没有成功,用反斜线逃避冒号。

PHP的致命错误:调用未定义的函数enchant_broker_init() – 附魔未find?

我有PHP 5.3.10(和CentOS 6),因为我明白附魔自动附带它。 当我尝试运行一个像 $tag = 'en_US'; $r = enchant_broker_init(); $bprovides = enchant_broker_describe($r); echo "Current broker provides the following backend(s):\n"; print_r($bprovides); 我得到这个PHP致命错误:PHP致命错误:调用未定义的函数enchant_broker_init() 我也可以看到这在我的PHPconfiguration命令与phpinfo输出 -with-enchant = shared,/ usr''–with-recode = shared,/ usr' 我是否需要添加SGG到php.ini?

错误消息与启动Apache时phpmyadmin

我试图让phpmyadmin与MySQL(mariadb叉)工作。 当我尝试访问phpmyadmin时,在浏览器中收到此错误消息: > phpMyAdmin – Error The mysqli extension is missing. Please check your > PHP configuration. <a href="Documentation.html#faqmysql" > target="documentation"><img src="themes/dot.gif" title="Documentation" > alt="Documentation" class="icon ic_b_help" /></a> 所以我在/etc/php.ini中添加了下面这行: extension=/usr/lib64/php/modules/mysqli.so 现在,当我启动apache,我在php_errors.log中得到以下错误: [12-Feb-2013 00:09:44] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysqli.so' – libmysqlclient.so.16: cannot open shared object file: No such file or directory […]

libXpm。(a | so)在Ubuntu 11.04上安装PHP时找不到错误

我想在Ubuntu 11.04上编译PHP 5.3.21。 我不断收到以下错误: configure: error: libXpm.(a|so) not found. 我search了libXpm.a和libXpm.so的位置,它们都在/usr/lib 。 因此,我在configuration脚本中更新–with-xpm-dir到–with-xpm-dir=/usr/lib ,但是我仍然得到相同的错误。 我也安装了libxpm-dev和一系列其他的依赖库,但我仍然得到错误。 以下是整个configuration脚本: ./configure –enable-fpm –enable-cli –with-fpm-user=phpfpm –with-fpm-group=phpfpm –prefix=/usr/local/php –exec-prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-config-file-scan-dir=/usr/local/php/etc/conf.d –with-libdir –enable-bcmath –enable-ctype –with-curl –with-curlwrappers –with-pear –enable-dba –with-cdb –enable-exif –enable-ftp –disable-fileinfo –with-gd –with-jpeg-dir –with-png-dir –with-zlib-dir –with-xpm-dir=/usr/lib –with-freetype-dir –with-t1lib –enable-gd-native-ttf –with-gettext –with-gmp –with-imap –with-imap-ssl –with-ldap –with-ldap-sasl –enable-mbstring=all –with-mcrypt –with-mhash –with-mysql –with-mysqli –with-pdo-mysql […]

在Ubuntu中从源代码安装php5的问题

(最初问到这里: https : //stackoverflow.com/questions/14977119/problems-installing-php5-from-source-in-ubuntu ) 我一直在尝试安装php5一段时间。 我在用着。 Ubuntu 12.10 Apache 2.4.3 而我想要安装的PHP版本是: PHP 5.4.11 我按照网页上的文档。 我安装了Apache(将文件中的apr和apr-util文件夹放在./scrlib文件中)。 sudo ./configure –enable-so sudo make sudo make install 所有这些命令都会输出很多信息,但只要我知道,就不会出现错误或警告。 只是为了logging: /usr/local/apache2/bin/httpd -l Compiled in modules: core.c mod_so.c http_core.c event.c mod_so.c在那里,所以我认为安装是没问题的。 现在,我尝试安装PHP(放置后 .sudo ./configure \ –prefix=/home/usr/local/php5/ \ –with-mysql \ –with-apxs2=/usr/local/apache2/bin/apxs \ –with-xsl \ –with-gdbm \ –with-gd \ –with-freetype=/usr/include/freetype2/ \ –with-zlib-dir=/usr/include […]

恶意软件:识别和清理LAMP网站上的恶意软件

编辑:进一步的信息/调查信息包含在这篇文章的评论 对这个模糊的标题表示歉意 – 总结这个问题有困难。 我最近发现,我的网站之一,在恶意软件的服务。 作为这个的结果,我已经grepped在httpdocs下的每个文件,并寻找任何可疑的东西,即调用shell_exec,eval,base64,passthru,包括,要求,cookiefunction在PHP文件。 我也经历了所有的JS文件寻找可疑的方法,另外,因为该网站的方面是从一个数据库build立我已经搜查了任何可疑的东西(使用phpmyadmin数据库searchfunction来寻找PHPshell等典型的JS恶意软件命令) 所有没有用,我根本找不到这是哪里。 因此,我已经重新加载了所运行的软件的所有文件,并有效地重新安装了站点文件。 我也有提供的软件经过检查,他们也没有find任何东西。 这让我得出的结论是,更高级别的东西,即Apache已经被攻破。 所以问题是我应该在这里检查? 我正在运行一个专门的服务器,只服务于这个网站,只有我有权访问(他说),所以我能够运行任何需要帮助诊断 恶意软件如何呈现? 间歇地将以下代码放入我的标签中: <style> .iqb71l { position:absolute; left:-1958px; top:-1826px} </style> <div class="iqb71l"><iframe src="hXXp://1.1.1.1/f72387bd1dfab35f89f1899e1be07c08/q.php" width="198" height="501"></iframe></div> 注意:在上面的代码示例中,我已将“http”更改为“hXXp”,将IP地址更改为“1.1.1.1” 但是,代码并不总是被注入,似乎是随机添加的。 另外,当代码确实出现时,IP地址跟在GUID和类名之后通常是不同的。 此外,没有任何恶意软件扫描仪(即谷歌网站pipe理员工具等等)正在采取这一点。 所以我猜测,这不仅仅是一个基本的注入,它是随机select何时呈现自己,它是dynamicselect一个地址注入,它似乎是恶意软件扫描器referrers隐形。 花了很多时间谷歌这一点,我一直没有find任何类似的情况下,但我已经find了很多网站pipe理员询问有关出现在他们的服务器上的一个不可思议的q.php文件引用。

CURL在PHP chroot的环境中

在Mac OSX的chroot化PHP环境下运行时,如何findCurl需要哪些文件或套接字? 我最近通过chrooting PHP保护了我的网站,但是现在通过它的API每次调用Amazon S3都失败了,错误消息是: Resource id #43; cURL error: Couldn't resolve host 's3.amazonaws.com' 从非chroot命令行调用时,相同的代码工作正常,所以大概是一些需要由CURL打开的文件,无法打开。 如何确定哪些文件试图打开,以便将它们映射到chrooted的directoy中? 有了Andrei的build议,我使用strace(或者相当于mac的mac地址)来获得一些debugging输出。 这是一个chroot的请求,不起作用。 lstat64("/lib/amazonWS/lib\0", 0x7FFF5FBF97D0, 0x26) = 0 0 lstat64("/lib/amazonWS\0", 0x7FFF5FBF9630, 0x182) = 0 0 open("/lib/amazonWS/lib/requestcore/requestcore.class.php\0", 0x0, 0x1B6) = 5 0 fstat64(0x5, 0x100A9F448, 0x8) = 0 0 fstat64(0x5, 0x100A9F448, 0x90) = 0 0 fstat64(0x5, 0x100A9F448, 0x1001B1FE4) = 0 0 mmap(0x0, […]

限制PHP可以发送邮件的域

是否可以将PHPconfiguration为仅将使用mail()创build的mail()发送到列入白名单的域的特定列表? 例如,发送给[email protected]的电子邮件是因为domain1.com位于白名单中,但是由于domain2.com不属于,所以邮件[email protected]被删除。 即使电子邮件本身正确形成正确的标题。 PHP版本5.2.17

PHP CLI与MOD_PHP和FASTCGI

我请求我的服务器支持团队为我启用MOD_PHP或FASTCGI,而不是当前处于活动状态的CGI。 他们告诉我,如果我问,他们可以激活PHP CLI。 AFAK CLI的意思是推荐线路接口,所以他们这里是什么意思? 我不能看到他们希望在Apache中启用CLI? 如果我弄错了,任何人都可以向我解释吗?! 谢谢,