Articles of PHP

Zend自动加载器不能从PHPconfiguration工作

PHPconfiguration文件(php.ini)应该有什么东西可以启用Zend Autoloader支持吗? 原因我在我的应用程序和一台服务器上使用它,它不工作(它说它无法在require_once()find该文件),并在另一台服务器上工作完美。 任何帮助吗? 谢谢。

使Lighttpd将.CSS文件视为.PHP文件

我希望扩展名为.CSS的文件被视为PHP,并且像parsing.PHP文件一样被parsing/执行(除了保留PHPparsing.PHP文件的默认行为)。 有Lighttpd做这个简单的方法吗?

Debian上的mod_php Apache 2.2.16挤压CPU高负载

组态: CPU 16核心14 GB RAM Apache 2.2.16 PHP 5.3.3-7与启用APC Apache mpmconfiguration: StartServers 50 MinSpareServers 50 MaxSpareServers 256 MaxClients 256 MaxRequestsPerChild 0 与约20-30同时连接阿帕奇请求需要花费很多时间,因为CPU提高到100% mod_stat显示随机的apache进程和随机脚本,使用超过5%的cpu PHP的应用程序工作与较小的硬件configuration和情况似乎很奇怪。

LDAP请求似乎挂起重复125字节的数据包,并且TCP连接不closures

我已经重写了这个问题,专注于一个特定的部分。 最初的标题是“Apache挂起或退出,但保持TCP套接字打开,不会接受连接” 问题 问题是configuration为使用LDAP进行身份validation的网站(Moodle)在尝试LDAP身份validation时挂起。 细节 我使用tcpdump来捕获由Apache发送的LDAP请求(即来自web应用程序)和通过CLI ldapsearch实用程序发送的LDAP请求的TCP数据包。 Apache发送的数据包似乎挂起,然后发送这个重复的125字节数据包。 我不知道该怎么做,我希望别人可以。 Apache错误日志中没有捕获任何内容。 我曲解错误logging到“debugging”,什么也没有。 PHP / Web应用程序也不会报告任何错误; 我一直在为PHP启动error_reporting,以及。 只有当LDAP请求由Web应用程序生成并执行时,才会出现此问题。 即当我运行“ldapsearch”具有Web应用程序正在使用相同的凭据和细节时,我从LDAP服务器得到一个快速和完整的响应 LDAP是Windows AD。 我不知道什么版本,我没有pipe理权限(或任何访问,实际上)。 从tcpdump输出 # ## TCP Packets from Apache # # tcpdump -r tcpdump_from_apache.out reading from file tcpdump_from_apache.out, link-type EN10MB (Ethernet) 13:45:00.063879 IP webserver-0001.56557 > ldapserver.someuniversity.edu.ldap: Flags [S], seq 920683327, win 5840, options [mss 1460,sackOK,TS val 3353249407 […]

mod_rewrite没有被启用?

我有PHP 5.3.8,Apache 2.2.21,一切都很好,除了mod_rewrite 默认情况下LoadModule rewrite_module modules/mod_rewrite.so已启用(未注释掉) ClearModuleList不存在 AddModule mod_rewrite.c不存在 然后你有 <Directory /> Options FollowSymLinks AllowOverride All </Directory> 仍然我testingmod_rewrite,它不工作,我应该做什么? 如果它不是.htaccess我会用nginx,通过默认安装apache的方式,当我得到的VPS,然后我更新,但没有改变httpd.conf设置 你认为我应该卸载它,并重新安装它自己? 大家都说默认情况下不应该启用mod_rewrite,所以我不知道为什么我的apache是​​不同的

Silex微框架Dreamhost共享主机

我可以启用phar扩展,但我得到这个错误: 警告:input中的意外字符:'\'(ASCII = 92)状态= 1在/ home / thecesineo / tineo.mobi / public /silex/silex.phar在第27行 parsing错误:语法错误,第27行的/home/cesartineo/tineo.mobi/public/silex/silex.phar中出现意外的T_STRING 我使用了来自silex web的示例.htaccess和index.php。 require_once __DIR__.'/silex.phar'; $app = new Silex\Application(); $app->get('/hello/{name}', function ($name) use ($app) { return 'Hello '.$app->escape($name); }); $app->run();

php页面在nginx + php-fpm服务器不加载

我已经在CentOS 6系统(在Amazon EC2中托pipe)中安装了nginx服务器和php-fpm,并遵循以下说明: http://emka.web.id/linux/centos-linux/2011/installing-nginx-with-php-and-php-fpm/ 一个静态的html(index.html)加载时,我去我的公共DNS提供的亚马逊,所以nginx的作品,但是当我尝试加载一个PHP页面在“index.php或hello.php”相同的目录中一个错误页面显示以下消息:“您正在查找的页面暂时不可用,请稍后再试。” 当我运行php-fpm没有参数,并再次尝试加载一个php页面,不发送给我的网页,而是显示一条短信:“没有input文件指定”。 / usr / share / nginx / html文件的默认目录 我认为我的configuration有问题,但是我不知道是在php还是在nginx的conf文件中。 /etc/nginx/nginx.conf中有几行我认为是最相关的: # # The default server # server { listen 80; server_name _; #charset koi8-r; #access_log logs/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } # redirect server […]

如何让php-fpm在空闲一段时间后将其杀死?

我有几个低stream量的虚拟主机应用程序,我想运行在同一个盒子,使用类似这样的configuration: [example.com] listen = /tmp/example.com.socket listen.owner = www-data listen.group = www-data listen.mode = 0666 user = www-data group = www-data pm = dynamic ; scale children according to this rule pm.max_requests = 1000 ; respawn child after so many requests pm.max_children = 12 ; cap the total number of children thus pm.start_servers = 6 ; […]

在Solaris 10上使用PHP5分段错误

在Solaris 10服务器上,我安装了Apache2(v2.2.20),PHP5(v5.2.1)以及来自[1]的软件包的所有依赖关系: http ://unixpackages.com(新的sunfreeware.com)。 现在Apache正在运行,并不会在启动时产生错误。 问题是当我用浏览器询问服务器时,我得到一个ERR_EMPTY_RESPONSE。 在日志中,每次我问服务器我得到这个错误: child pid "PID" signal Segmentation fault (11) 它似乎来自PHP,而在httpd.conf中停用它没有错误,但我找不到在哪里。 [编辑] 使用unixpackages.com(v5.3.6)上提供的最新版本的PHP,并在安装期间强制某些库path解决了问题。 看来,旧版本不适用于Apache v2.2.20。 即使他们不是很有帮助,也非常感谢您的回答。

编译mysqlnd_uh插件

我试图实现一个mysqllogging器类似于下面的文章中描述使用mysqlnd_uh扩展名。 http://blog.mayflower.de/archives/578-MySQLnd-Plugins-Writing-a-MySQL-Query-Logger-in-PHP.html 它应该如何工作的是,它将拦截进入mysql和mysqli函数的调用到代理类中,在那里我们可以拦截调用以进行日志logging。 当然,这个客户端库需要Mysql原生驱动程序,这个驱动程序并没有与PHP 5.3一起安装,所以我按照本教程中的步骤检查了Apache和PHP的源代码,并将它们编译到运行最新版本Ubuntu的虚拟机上编译mysqli和mysql的选项设置为mysqlnd。 http://www.web-tech-india.com/articles/php/compiling_php_apache/ 这似乎工作得很好,因为我可以访问mysqli_fetch_all函数,只有在mysqlnd中支持。 现在我试图做的是使用pecl安装mysqlnd_uh插件。 sudo /home/jason/pear/bin/pecl install mysqlnd_uh-alpha 这对于configuration部分运行正常,但在make中失败,出现以下错误。 显然,它抱怨没有find源文件,但它看起来在哪里? 我应该传入一个参数到pecl指向我的PHP源代码的副本? 在教程中,它告诉我用–enable-so选项编译apache,是否会造成混乱? running: make /bin/bash /tmp/pear/install/pear-build-roothNJj2h/mysqlnd_uh-0.1.0a1/libtool –mode=compile cc -I. -I/tmp/pear/install/mysqlnd_uh -DPHP_ATOM_INC -I/tmp/pear/install/pear-build-roothNJj2h/mysqlnd_uh-0.1.0a1/include -I/tmp/pear/install/pear-build-roothNJj2h/mysqlnd_uh-0.1.0a1/main -I/tmp/pear/install/mysqlnd_uh -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/install/mysqlnd_uh/php_mysqlnd_uh.c -o php_mysqlnd_uh.lo libtool: compile: cc -I. -I/tmp/pear/install/mysqlnd_uh -DPHP_ATOM_INC -I/tmp/pear/install/pear-build-roothNJj2h/mysqlnd_uh-0.1.0a1/include -I/tmp/pear/install/pear-build-roothNJj2h/mysqlnd_uh-0.1.0a1/main -I/tmp/pear/install/mysqlnd_uh -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM […]