Articles of PHP

mod_fcgid:从FastCGI服务器读取数据时出错

这是我在这里的第一篇文章,虽然我经常在这里search和find答案。 这一次,我花了几天的时间search不同的网站,但不幸的是其他线程没有答案在我的情况帮助。 我pipe理几个LAMP服务器,每个服务器托pipe10到15个虚拟主机。 每个服务器都有一个控制面板供pipe理员和客户端pipe理站点。 在过去的几年里,在mod_php的Centos 6上运行得很好。 我现在正在升级控制面板,在安装了mod_fcgid的PHP的Centos 7上运行。 每个虚拟主机都有自己的apache conf文件,如下所示: <VirtualHost 136.243.195.117:80> DocumentRoot "/home/c7demose/public_html" ServerName c7.demoserver.co.za ServerAlias www.c7.demoserver.co.za mail.c7.demoserver.co.za ftp.c7.demoserver.co.za <IfModule mod_fcgid.c> SuexecUserGroup c7demose c7demose <Directory /home/c7demose/public_html> Options +ExecCGI AllowOverride All AddHandler fcgid-script .php FCGIWrapper /var/www/php-fcgi-scripts/c7.demoserver.co.za/php-fcgi-starter .php Order allow,deny Allow from all </Directory> </IfModule> </VirtualHost> 这没有问题,每个网站按预期工作。 过去的工作方式是控制面板侦听不同的端口,其虚拟主机configuration文件侦听任何IP地址,并且没有ServerNamevariables,因此用户使用哪个域名并不重要,如果他们使用正确的端口将redirect到控制面板。 换句话说,用户与域user_one.com可以去user_one.com:10025和用户2可以去他自己的user_two.com:10025,都进入控制面板: <VirtualHost *:10025> DocumentRoot "/var/www/html/webcp" <IfModule mod_fcgid.c> SuexecUserGroup […]

连接()到unix:/tmp/php-fpm.sock失败(2:没有这样的文件或目录)

在我的stream浪箱子里,分机7,我安装了php7.0.3和nginx 1.9.12。 PHPconfigurationwww.conf。 这个文件在/usr/local/php/etc/php-fpm.d/目录下,它的configuration就像这样 user = www group = www ;listen = /tmp/php-fpm.sock listen = 127.0.0.1:9000 listen.owner = www listen.group = www 和nginxconfiguration。 / usr / local / nginx / conf / vhost /目录下的文件vm.demo.com.conf。 它的configuration是这样的 server { listen 80; server_name vm.demo.com; index index.html index.htm index.php; root /data/wwwroot/demo; location / { if (-f $request_filename/index.html){ rewrite (.*) […]

当我在OS X 10.11上启用PHP模块时,Apache用户目录拒绝连接

我正在尝试在Apache中configuration用户director /Users/username/Sites 。 如果我注释掉了PHP LoadModule,它可以正常工作,甚至可以加载PHP7。 问题是我需要使用PHP5,但是每当我取消注释PHP LoadModule我得到localhost refused to connect. ,当试图连接到localhost/~username/Sites/ 。 不过localhost独自提出了Apache It Works! 信息。 这是我的httpd.conf # # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. # See <URL:http://httpd.apache.org/docs/2.4/> for detailed information. # In particular, see # <URL:http://httpd.apache.org/docs/2.4/mod/directives.html> # for a […]

安装Pecl PAMauthenticationApache

我想在我的服务器上安装horde webmail 5.2.9(debian Jessie)。 当我去localhost/horde/test.ph我得到: PAM Support (PECL extension): No The PAM PECL extension is required to allow PAM authentication to be used. 要安装PAM扩展,我做了以下几件事: # sudo pecl install –alldeps PAM 我可以validation是否安装了PAM: # sudo pecl list Installed packages, channel pecl.php.net: ========================================= Package Version State pam 1.0.3 stable 我还安装了以下内容: 中的libapache2-MOD-authnz-PAM pwauth 中的libapache2-MOD-authnz-外部 我还启用了以下模块: – authnz_external – authnz_pam […]

Nginx重写规则子文件夹404错误

我不知道如何设置我的index.php文件与Nginx的重写规则,它会像下面的例子一样工作。 如果我访问的url,它给了我404错误没有findinstad回声'你好'。 url: http://www.example.com/directory/sub-directory/ /子目录/从给定的URL实际上不是真正的目录里面/目录/。 如果我访问的URL,我得到了404错误 – 这是真的好,但/子目录/是友好的url(没有查询?参数=价值)。 /子目录/不是固定值(在这个例子下面),它可以是/子目录 – 新/ – 依赖。 那么,对于URL中的/ value / after / directory /中的任何值,如果我访问那种types的URL,怎么会不会得到404错误? / directory /中的Index.php $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $wanted = "sub-directory"; $tokens = explode('/', $actual_link); $result = $tokens[sizeof($tokens)-2]; // result is "sub-directory" if($wanted == $result) { echo "hello"; } Nginx的: location /directory { try_files $uri $uri/ /directory/$uri; […]

我应该使用哪个PHP设置用于共享主机环境(fpm,fcgi,proxy,module)?

我目前正在运行一个虚拟主机pipe理面板来运行PHP网站(如Plesk或cPanel)。 我正在研究用Apache运行PHP的最佳方法。 mod_php是不可能的,因为像这样的环境需要每个网站的独立用户(或我的情况下的订阅)。 我已经解决了使用mod_fastcgi的PHP5-FPM的工作得很好,但我发现fastcgi mod不再被开发。 这不会是一个问题,协议不会改变,但文件不可用(或我找不到)。 我确切的问题:在一个WordPress网站上的TTFB(第一个字节的时间)大约是2s,而我不喜欢这个,join几MB的照片太多了。 我想要不断的PHPstream媒体,但是我似乎无法用这个设置来实现,而且没有文档就更难了。 我应该使用哪种设置以及为什么以及如何? Apache模块(我怎样才能得到分离的用户?) mod_fastcgi和PHP-FPM(我怎样才能让PHPstream?) mod_fcgid和PHP-CGI(怎么做?任何教程?) mod_proxy_fcgi和PHP-FPM(我怎样才能让PHPstream?) 任何其他解决scheme 谢谢! (是的,PHP输出缓冲被禁用,FastCGICfg -flush没有任何区别,我尝试了我在网上遇到的每个解决scheme,但似乎没有人使用这个设置与Apache,只是nginx,但我需要它,因为我必须用.htaccess文件来控制用户)

ownCloud 9不支持MySQL

我试图用nginx作为web服务器来安装ownCloud 9到FreeBSD 10。 我正在使用这个官方手册 ,它告诉我使用这个命令: sudo -u www-data php occ maintenance:install –database "mysql" –database-name "owncloud" –database-user "root" –database-pass "password" –admin-user "admin" –admin-pass "password" 但是我得到这个错误: [InvalidArgumentException] Database <mysql> is not supported. 这很奇怪,因为MySQL被列为支持的数据库,并且安装了所需的模块(wordpress 已经在使用mysql数据库的主机上工作)并且设置了variables。 如果我开始一个Web安装,我只有SQLite选项可用,就像我的主机上没有运行任何MySQL实例。 一些诊断: # pkg info | grep mysql mysql56-client-5.6.27 Multithreaded SQL database (client) mysql56-server-5.6.27 Multithreaded SQL database (server) php56-mysql-5.6.20 The mysql shared extension […]

服务器通常是很慢的服务网页,需要很长时间ssh进入

首先,我从来没有一个专业的服务器在国内运行了两年左右,所以请记住,我的问题的原因可以是非常基本的和简单的解决scheme。 我的问题是这样的:我的Ubuntu / Apache2服务器托pipe几个网站,他们的工作,没有错误,但偶尔非常缓慢。 最主要的例子就是一个WordPress站点,在站点本身和pipe理站点上,有时你点击一个类别,得到一个正常的快速响应,有时你点击某个地方(你5分钟前的地方)和负载需要3-15秒。 服务器过去一直很快,现在不是。 服务器没有任何重负载(据我所知),上传和下载速度始终是最大的连接表值。 另一个问题(可能相关)是一个非常缓慢的SSHlogin。 如果我禁用反向DNS查找,这将消失,但我不知道这是否是相关的。 如果我提供指向我服务器上托pipe的特定域的链接,这会有帮助吗? 有没有任何日志/configuration值得发布? 我很高兴发布任何要求。 如果有任何我可以提供的信息,请告诉我。 感谢您提供的任何帮助。 编辑: 粗略的估计似乎有点帮助,当我添加条目到/etc/hosts转发每个根域的Wordpress站点到127.0.0.1,但 它没有解决这个问题,只是使它可能小一点 即使它在其他地方出现问题,也可能是一个粗略的解决方法

当重写uri时,nginx防止POST参数丢失

我想用php-fpm在nginx上做一些url重写。 也就是说,将所有请求路由到php脚本,如下所示: /index.php?fulluri=(originaluri) 许多方法来解决这个问题: Nginx – 将所有请求路由到单个脚本 https://stackoverflow.com/questions/18735657/nginx-conf-for-url-routing 任务是,做任何这些解决scheme保存POST参数和cookie以便在目标index.php脚本中稍后处理? 我觉得fastcgi_param SCRIPT_FILENAME $document_root/index.php?fulluri=$request_uri; 会工作,但我不能现在testing,想做任何修改之前有一些信息。

Centos – PhpMyAdmin试图访问时显示空白屏幕

我刚刚安装了PhpMyAdmin,当我尝试访问它只是显示一个空白的屏幕。 我怀疑这是因为我跟着如何安全的PHP教程,所以我重新安装PHP来重置php.ini文件,但是这并没有解决这个问题…现在我想也许是因为suhosin PHP安全模式,或者我缺less一个php模块。 我的PHP信息可以在这里访问:http: //87.92.41.2/phpinfo.php