php 下载 webp 格式图片报错:
Uncaught Error: Call to undefined function imagecreatefromwebp()
原因是 php 不支持 webp,只能重新编译 php 添加 webp 支持。
centos 下首先安装 webp 库
1
yum install libwebp-tools
然后重新编译 php ,configure 加上 webp 参数 --with-webp-dir,如果是 php7.4 版本使用 --with-webp,否则会报不认识的选项。
编译完成后重启 php-fpm 回复正常
现在大多数php环境都推荐使用php7版本,本文主要介绍如何安装php-fpm7.2
安装环境准备
sudo yum install epel-release -y
sudo yum install autoconf libtool re2c bison libxml2-devel bzip2-devel libcurl-devel libpng-devel libicu-devel gcc-c++ libmcrypt-devel libwebp-devel libjpeg-devel openssl-devel -y
12
sudo yum install epel-release -ysudo yum install autoconf libtool re2c bison libxml2-devel bzip2-devel libcurl-devel libpng-d...
很多站长转到nginx+php-fpm后,饱受500,502问题困扰。
当nginx收到如上错误码时,可以确定后端php-fpm解析php出了某种问题,比如,执行错误,执行超时。
php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的
; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_slowlog_timeout = 0
当request_slowlog_timeout ...
对于运维人员来说,如果没有特别的需求,用源安装无疑是大家最愿意的选择。
常见的vps都是ubuntu10.04,其源中没有php5-fpm,安装的时候会提示:
Reading state information... Done
E: Couldn't find package php5-fpm
解决办法
1. 添加非官方的源到 /etc/apt/sources.list
echo "deb http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main" >> /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main&a...
nginx是一个web服务器,因此nginx的access日志只有对访问页面的记录,不会有php 的 error log信息。
nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog
原因是php-fpm的配置文件php-fpm.conf中默认是关闭worker进程的错误输出,直接把他们重定向到/dev/null,所以我们在nginx的error log 和php-fpm的errorlog都看不到php的错误日志。
调试起来就很痛苦了。解决nginx下php-fpm不记录php错误日志的办法:
1.修改php-fpm.conf中配置 没有则增加
ca...
nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。
nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx
本文以php-fpm为例介绍如何使nginx支持PHP
一、编译安装php-fpm
什么是PHP-FPM
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下载得到.
PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用...
502错误是所有用nginx跑php的运维人员不愿意看见的
nginx出现502有很多原因,但大部分原因可以归结为资源数量不够用,也就是说后端php-fpm处理有问题,nginx将正确的客户端请求发给了后端的php-fpm进程,但是因为php-fpm进程的问题导致不能正确解析php代码,最终返回给了客户端502错误。
服务器出现502的原因是连接超时 我们向服务器发送请求 由于服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类报错
因此如果你服务器并发量非常大,那只能先增加机器,然后按以下方式优化会取得更好效果;但如果你并发不大却出现502,一...