Arm*_* P. 4 php apache soap fastcgi
我有运行Apache 2.2.4和PHP-FPM(FastCGI Process Manager)的VPS服务器(CentOS 6.5).查看php-fpm error_log我发现每个spawn php-fpm子进程都出错了:
WARNING: [pool www] child 24086 said into stderr: "ERROR: Unable to set php_value 'soap.wsdl_cache_dir'"
Run Code Online (Sandbox Code Playgroud)
我找不到关于此警告谷歌搜索的任何信息.有人知道这意味着什么以及如何摆脱这种警告?
更新1:
apache的fastcgi.conf:
User apache
Group apache
LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
DirectoryIndex index.php index.html index.shtml index.cgi
AddHandler php5-fcgi .php
# For monitoring status with e.g. Munin
<LocationMatch "/(ping|status)">
SetHandler php5-fcgi-virt
Action php5-fcgi-virt /php5-fcgi virtual
</LocationMatch>
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization
</IfModule>
# global FastCgiConfig can be overridden by FastCgiServer options in vhost config
FastCgiConfig -idle-timeout 20 -maxClassProcesses 1
Run Code Online (Sandbox Code Playgroud)
这是PHP的php-fpm.conf和池配置:
pid = /var/run/php-fpm/php-fpm.pid
daemonize = yes
; Start a new pool named 'www'.
[www]
listen = /tmp/php5-fpm.sock
group = apache
pm = dynamic
pm.max_children = 8
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.status_path = /status
ping.path = /ping
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
Run Code Online (Sandbox Code Playgroud)
其他一切都是违约的.
更新2:
在/var/lib/php/wsdlcache按照建议手动创建目录并将权限设置为770和所有者之后root:apache,我希望我不会再次看到错误,但不幸的是在重新启动php-fpm进程后错误再次出现,这变得非常奇怪.
PS也许这个问题更适合于serverfault,但通常在stackoverflow上有更多的php和apache配置专家.
Arm*_* P. 16
我讨厌如此琐碎的解决方案.最后我自己找到了问题和解决方案.留在这里以供其他有史以来的人参考.
FastCGI配置文件是在首次配置FastCGI时从互联网上获取的,因为我之前没有使用它.显示FastCGI配置的教程包含该行php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache.我真的很感兴趣什么是SOAP,因为我没有在我在这台服务器上运行的网站上使用它,这种好奇心为我带来了解决方案.实际上我不需要SOAP,只需删除该行就可以解决我想的问题,但我决定将其留在那里,发现我只需要安装即可php-soap.
yum install php-soap
Run Code Online (Sandbox Code Playgroud)
对于RHEL/CentOS
重新启动后,php-fpm我没有收到重生fpm进程的错误.
| 归档时间: |
|
| 查看次数: |
9784 次 |
| 最近记录: |