Articles of PHP

nginx和HTTP Referer

我正在使用nginx和php5-fpm一起使用以下fastcgi_params文件: fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param HTTPS $https; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_param REDIRECT_STATUS 200; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param REQUEST_URI $request_uri; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_NAME $server_name; […]

安装PHP后,Apache在服务静态内容方面(相对)速度较慢?

首先介绍一下我如何安装PHP,Apache和一些Apache模块: # apt-get -y install php5 php-pear libapache2-mod-php5 php-apc php5-mysql php5-mcrypt php5-xmlrpc php5-curl php5-imagick php5-gd php5-imap php5-pspell # apt-get -y install apache2 apache2-doc apache2-utils # a2enmod setenvif headers deflate filter expires rewrite include 而我的httpd.conf文件看起来像这样(即我已经基本禁用.htaccess,并具有在httpd.conf中的所有规则): <Directory /var/www/example.com/public> AllowOverride None […] </Directory> 考虑到它会给你一个如何设置我的networking服务器的基本想法,我想继续问问题: Apache在安装PHP的静态内容方面比较慢,这是真的吗? ( 我猜 ) 比方说,我的网站的根目录是'/var/www/example.com/public',我在'/var/www/example.com/public/uploads中有所有的静态内容(CSS,JS,图片) “; 如何克服问题(1),而不必将所有静态内容移动到没有安装PHP的服务器?

如何从SMTP服务器获取反馈,从同一networking中的其他服务器连接到SMTP服务器?

我有以下情况: [HTTP服务器]:处理消息 [SMTP服务器]:只发送消息 [HTTP服务器] ===连接到=== >>> [SMTP服务器] ===发送消息=== >>> [世界] 好的,这个进展顺利。 我的观点是:如何从[SMTP服务器]得到反馈,知道我的邮件是否真的被发送? 使用php-mailer或任何语言/ API(在[HTTP服务器]),我只有服务器之间的连接反馈:“连接到SMTP服务器是好的”,但这不是certificate我的消息是真正发送。 我的意思是,如何获得每个消息在/ var / log / maillog中出现的“status = sent”或“status = bounced”? 我真的在过去的几个星期尝试这个,但没有成功。 我的工作方式是当[HTTP服务器]连接到[SMTP服务器]时,从maillog获取消息ID,所以稍后我将从[HTTP服务器]到[SMTP服务器]进行SSH操作,以grep / var / log / maillog与这个消息ID并得到这个“状态=发送”或“状态=任何东西”。 但我很确定有一个自动的方式来做到这一点。 有人知道吗?

在cpanel上启用php pdo

获取此错误:致命错误:未find类“PDO” 在php.ini中有这些行: extension=pdo.so extension=pdo_sqlite.so extension=sqlite.so extension=pdo_mysql.so 这显示在php.info() – –enable-pdo = shared'' 有权访问,但没有“软件”选项卡,从中访问easyapatche? 有什么build议么??

MySQL连接中止 – 我应该担心吗?

我正在优化Apache和mod_php的networking服务器上的MySQL,所以我跑了mysqltuner ,结果如下: ——– General Statistics ————————————————– [–] Skipped version check for MySQLTuner script [OK] Currently running supported MySQL version 5.1.63-0+squeeze1 [OK] Operating on 64-bit architecture ——– Storage Engine Statistics ——————————————- [–] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster [–] Data in MyISAM tables: 255M (Tables: 120) [–] Data in InnoDB tables: 5M (Tables: 2) [!!] […]

打印PDF – 从1Mb PDF文件打印50Mb ..

我有这个只有1Mb – 30页的PDF文件。 所以当我把它发送到打印机(惠普1320),我看到该计算机发送近50Mb的打印机。 这怎么可能? 我知道PDF是压缩格式,但是当我尝试命令行程序pdf2ps – 我可以生成只是2.5Mb的后记。 我不认为这是如此压缩50/1这将是什么..任何想法? 这个文件是由php tcpdf生成的,可以和它有任何关系。 PDF有什么神奇的function?

php-fpm使用了很多cpu

我在Ubuntu 12.04上使用wordpress,在我的VPS上使用Nginx + php-fpm。 有2个CPU核心+ 4096Mb内存。 我已经将MySQL数据库移动到另一台服务器,并设置远程访问。 一次有大约300个在线访问者,而且php-fpm使用了很多CPU: 我也使用APCcaching和batcache的WordPress的。 php-fpmconfiguration: listen = /var/run/fpm-macradar.sock ;listen.backlog = -1 pm = ondemand pm.max_children = 30 pm.start_servers = 15 pm.min_spare_servers = 10 pm.max_spare_servers = 20 ;pm.process_idle_timeout = 10s; pm.max_requests = 500 pm.status_path = /status chdir = / request_slowlog_timeout = 60s slowlog = /var/log/$pool.log.slow request_terminate_timeout = 120s rlimit_files = 131072 […]

nginx – 出于安全原因拒绝除index.php之外的所有* .php请求

操作系统:CentOS 7 nginx:1.6.2 httpd:apache 2.4.6 cms:Drupal 7 在我的服务器被盗用后,我从服务器中删除了所有,重新安装了操作系统和软件,并从备份中恢复数据。 现在我configuration所有的服务在最大的安全风格。 在详细研究访问日志之后 – 我决定拒绝任何除了index.php之外的任何php文件请求,这是为了提高安全性而在站点文档根目录中。 Nginx的访问日志内容很多logging如: azenv2.php az.php 和 /*/wp-login.php /administrator/index.php /MyAdmin/index.php 第一类 – 后门(其中一个黑客攻击我的网站,有人从我的服务器发送大量的垃圾邮件)。 其次 – 有人想findstream行的CMS和实用程序,并尝试一些login@密码,如admin @ 123456 我的理由阻止这两个类别的nginx通过拒绝请求到PHP文件是: 即使有人会上传php-shell ,也不可能使用它 。 所有这些请求都是“不好”的一个priory – 并通过nginx拒绝它们将保护drupal(httpd + php + mysql)的工作和耗电。 我目前的configuration为一个虚拟主机: server { listen <server-ip>; server_name <site-name>; location ~* /sites/default/files/styles/ { try_files $uri @imagestyles; } location @imagestyles […]

无法使用内置CA软件包来validationGoDaddy SHA2 SSL证书

我遇到了一个有趣的问题。 我们有一个PHP脚本,联系LTL托运人( https://facts.dohrn.com/ )。 该脚本由于无法validationSSL证书而失败。 我去了网站,发现他们正在使用GoDaddy SHA2证书(使用GoDaddy证书包 – G2 ,这是用于SHA2)。 我已经安装了最新版本的ca-certificate ,看起来他们有Go Daddy根证书颁发机构 – G2,但这不是一回事,在所有forms的validation中都失败了。 我终于可以通过复制捆绑包并直接在CURL请求中使用它。 但这只是一个解决方法。 有什么我错过了,可以使这个工作没有直接安装CA? #openssl s_client -connect facts.dohrn.com:443 连接(00000003)深度= 0 OU =域控制validation,CN = facts.dohrn.comvalidation 错误:数字= 20:无法获得本地发行人证书validation返回:1 深度= 0 OU =域控制validation,CN = facts.dohrn.comvalidation 错误:num = 27:证书不可信validation返回:1深度= 0 OU = validation域控制,CN = facts.dohrn.comvalidation 错误:num = 21:无法validation第一个证书validation返回:1 —证书链0 s:/ OU =域控制validation/ CN = facts.dohrn.com […]

什么是最好的方式在debian服务器上运行php unoconv?

我有一个PHP脚本,我需要将doc文档转换为html文件,以便在网页中显示它们。 我正在使用php命令进行转换: exec ( $Command, $Output, $ReturnValue ) ; 哪里 $Command = "/usr/bin/timeout -s 9 $TimeOut /usr/bin/unoconv -f html -o " . escapeshellarg($Dir) . " " . escapeshellarg($File) ; 显然,一切运行良好,但有时过程并没有结束,我仍然保留着数百个soffice.bin , unoconv , oosplash进程,浪费内存,并肯定会使服务器崩溃。 我错过了什么? 有没有更好的方法来调用unoconv ? 我应该将unoconv服务器作为系统服务运行吗? 我使用的是:LibreOffice 3.5,Unoconv 0.5,apache 2.2.22-13 + deb7u4