微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

apache – 无法设置php_value’soap.wsdl_cache_dir’

我有运行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'"

我找不到关于此警告谷歌搜索的任何信息.有人知道这意味着什么以及如何摆脱这种警告?

更新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

这是PHPPHP-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

其他一切都是违约的.

更新2:

按照建议手动创建/ var / lib / PHP / wsdlcache目录并将权限设置为770并将所有者设置为root:apache后,我希望我不会再次看到错误,但不幸的是在重启PHP-fpm进程后出现错误再次,这变得非常奇怪.

附:也许这个问题更适合serverfault,但通常在stackoverflow上有更多的PHP和apache配置专家.

解决方法:

我讨厌这么简单的解决方案.最后,我自己找到了问题和解决方案.留在这里以供其他有史以来的人参考.

FastCGI配置文件是在首次配置FastCGI时从互联网上获取的,因为之前我没有使用它.显示FastCGI配置的教程包含行PHP_value [soap.wsdl_cache_dir] = / var / lib / PHP / wsdlcache.我真的很感兴趣什么是SOAP,因为我没有在我在这台服务器上运行的网站上使用它,这种好奇心为我带来了解决方案.实际上我不需要SOAP,只是删除该行就可以解决问题我想,但我决定把它留在那里,发现我只需要安装PHP-soap.

yum install PHP-soap

对于RHEL / CentOS

重新启动PHP-fpm后,我没有收到重生fpm进程的错误.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐