Articles of PHP

我们应该在Apache + PHP-FPM中有多个网站吗?

如果有很多小型网站(大约300个)在轻量级网站上运行,他们是否应该使用同一个池,还是为每个池设置单独的池? 让我们假设这些网站是可信的,并且在池中拥有一个单独的用户/组(例如,更好地控制访问/权限)在这里不被考虑。

无法使PHP在Apache VirtualHosting环境中工作

尝试在DigitalOcean云服务器下的新创build的CentOS节点中使用PHP设置Apache VirtualHosting环境。 麻烦的是,虽然虚拟主机本身是工作的,PHP不是 。 服务器设置: Web服务器:与Apache / 2.2.15的CentOS 6.5 PHP版本:5.3.3(用作Apache模块) 所采取的步骤: 以root用户身份login, 安装Apache和PHP: yum -y install httpd php 创build一个新的虚拟主机configuration文件,如下所示: 文件: /etc/httpd/conf.d/vhosts.conf NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin admin@example.org ServerName example.org ServerAlias www.example.org DocumentRoot /srv/www/example.org/public_html/ ErrorLog /srv/www/example.org/logs/error.log CustomLog /srv/www/example.org/logs/access.log combined </VirtualHost> 为虚拟主机站点创build新的目录 如下所示, mkdir -p /srv/www/example.org/public_html mkdir -p /srv/www/example.org/logs 放置一个.php和.htmltesting文件,如下所示: /srv/www/example.org/public_html/ )下的文件 echo "<HTML>It work's</HTML>" > /srv/www/example.org/public_html/index.html […]

nginx + php-fpm上的Laravel返回空白页

我遇到了nginx + php-fpm提供的Laravel问题,它只是返回一个空白页面。 nginx,php和laravel都没有logging任何错误。 当使用CLI运行index.php时,它将返回欢迎页面。 laravel栈未触及,所有错误报告/显示/日志logging打开。 下面是我的nginx虚拟主机: server { listen 801; server_name _; root /path/to/laravel/public; index index.html index.html index.php; charset utf-8; gzip on; gzip_http_version 1.1; gzip_disable "MSIE [1-6]."; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_comp_level 9; fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; fastcgi_read_timeout 180; # serve static files directly location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log […]

CentOS 6 Httpd无法启动

我正在使用CentOS 6.5。 Apache HTTP服务器(httpd)已经死了,原因不明。 我无法再访问http://localhost/ 。 当我尝试重新启动httpd时,失败(错误消息如下所示)。 ================================================== ================ 运行sudo service httpd restart时出现错误信息 Stopping httpd: [FAILED] Starting httpd: [ OK ] 存储在/var/log/httpd/error_log错误消息 [Tue Feb 04 14:44:57 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Tue Feb 04 14:44:57 2014] [notice] Digest: generating secret for digest authentication … [Tue Feb 04 14:44:57 2014] [notice] Digest: done *** […]

使用Apache 2.2.22和Ubuntu 12.10 – 500的PHP-FPM错误,或返回文本(不执行)

我正在学习本教程 ,尝试在我的LAMP堆栈上安装PHP-FPM。 我在/etc/apache2/sites-available/default包含(根据指南) <IfModule mod_fastcgi.c> Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi AddHandler php-script .php FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php-fpm.sock Action php-script /php5.fastcgi virtual # This part is not necessary to get it to work, but it stops anything else from being # accessed from it by mistake or maliciously. <Directory "/var/www/fastcgi"> Order allow,deny <Files "php5.fastcgi"> Order deny,allow </Files> </Directory> […]

试图安装gd,得到冲突错误

我试图安装GD使用sudo yum install php-gd但我得到下面的错误。 我知道我之前遇到过这个问题,但似乎无法回想起我如何解决这个问题。 我在错误的目录? 我在某些时候错误地更新了PHP吗? 我的大脑似乎已经closures了一夜,我无法弄清楚这一个。 – >处理冲突:php55w-common-5.5.8-1.w6.i386冲突php-common <5.5.0 – >完成依赖关系解决scheme 错误:php55w-与php-common-5.3.3-27.el6_5.i686`的常见冲突 谢谢

允许php / apache删除ftp目录和子文件夹中的文件

基本上,我有一个PHP脚本能够移动或删除文件的问题,我知道它必须做的权限,因为这是来自unlink()的PHP错误告诉我,但我不知道如何修理它。 所以我希望如果我解释的情况下,有人可能会指出我在正确的方向,因为我是一个noob当谈到Linux CLI的东西… 好吧,我有一个ftp dropbox位置,让我们说它位于 /var/ftp/client/dropbox/ 我已经用pure-ftpd创build了一个ftp帐户。 所以当一个文件被上传到这个目录时,它的所有者是ftp-user ,它的组是ftp-group ,这是pure-ftpd运行的。 这个目录的用户/组分别被设置为ftp-user和ftp-group 。 因此,第三方脚本负责将报告(文件)发送到此保pipe箱位置。 ftp账号应该能够在这个目录下创build子目录,对这些文件进行分类。 例如,文件结构可能如下所示: /var/ftp/client/dropbox/invoices/ /var/ftp/client/dropbox/invoices/bal_2013-06-01_2013-06-30.pdf /var/ftp/client/dropbox/reports/ /var/ftp/client/dropbox/reports/visits/ /var/ftp/client/dropbox/reports/visits/bal_2013-06-01_2013-06-30.xlsx “home”目录/var/ftp/client/dropbox/ chmod是drwxrwxr-x 当一个子目录(例如invoices/ )由ftp-user创build时,它获得了drwxr-xr-x chmod 当ftp-user上传一个文件(例如invoices/bal_2013-06-01_2013-06-30.pdf )时,它会得到chmod -rw-r–r– 与此同时… 我有一个PHP脚本位于说 /var/www/client/ 该脚本应该打开文件,并使用类别名称(子目录名称)和文件名等更新数据库等东西,迄今为止这一切都很好。 然而…. 所以这是问题 那么脚本应该根据原因移动或删除文件(而不是子文件)。 但是使用File::delete() (Laravel 4)或者直接在/path/to/file上unlink()会返回“permissions denied”错误。 所以,从使用top来看,当我的脚本运行时,它(apache)在www-user和www-group下运行。 有道理,它将作为一个不同的用户/组运行。 但我能做些什么来给予Apache / PHP的权限移动/删除文件? 我曾尝试将www-user放在ftp-group组中,但仍然给我“权限被拒绝”的错误。 从研究中,我猜想可能是粘滞点或者其他什么,但是我不确定,坦率地说,目前所有这些目录/文件许可的东西都略微凌驾于我的头上。 那么…有什么build议在这里做什么? 编辑 有一个想法是,不是让这个脚本删除/移动文件,而是将/ path / to /文件插入到数据库中,以及需要执行的操作。 然后有一个单独的脚本来执行这个动作,然后把这个脚本放在一个cronjob上(或者是ftp-user ..我可以这样做吗?我不确定..)。 […]

Ubuntu服务器13:如何防止用户使用php浏览文件系统

我为几个没有shell访问权限的客户托pipe网站。 如何防止这些用户使用PHP浏览系统? 现在,我使用suphp作为自己的代码,但他们仍然可以查看其他用户的主目录中的文件等。

MySQL / mariadb超载服务器

我有1GB RAM,1GB交换和3 CPU的openVZ VPS。 它使用Nginx,PHP,MySQL(我用mariadbreplace)运行Ubuntu。 这是TOP: 3934 www 20 0 30908 10m 4152 S 2 1.0 0:27.26 /usr/local/php/bin/php-cgi –fpm –fpm-config /usr/local/php/etc/php-fpm.conf 3946 www 20 0 30664 9m 4176 S 1 1.0 0:25.86 /usr/local/php/bin/php-cgi –fpm –fpm-config /usr/local/php/etc/php-fpm.conf 3948 www 20 0 30856 10m 4228 S 1 1.0 0:23.16 /usr/local/php/bin/php-cgi –fpm –fpm-config /usr/local/php/etc/php-fpm.conf 3947 www 20 0 […]

在CentOS上安装Ioncube

我正尝试在我的VPS上安装Ioncube。只是有点背景。 这是CentOS的最新版本,运行在ESXi的最新主机上。 机器有2GB的内存。 我运行了基于PHP的装载机向导。 我正在尝试安装v5.3。 当重新打开装载机时,我得到这个: Loader Installed The ionCube Loader version 4.5.3 for PHP 5.3 is already installed and encoded files should run without problems. 一些更多的debugging信息: cat /etc/php.d/20-ioncube.ini zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_5.3.so php -v Failed loading /usr/lib64/php/modules/ioncube_loader_lin_5.3.so: /usr/lib64/php/modules/ioncube_loader_lin_5.3.so: undefined symbol: php_body_write PHP 5.4.25 (cli) (built: Feb 10 2014 08:04:23) Copyright (c) 1997-2014 The PHP Group […]