Ubuntu 12.04 uWSGI无法构建

时间:2014-03-25 19:16:20

标签: php ubuntu ubuntu-12.04 uwsgi

运行时出现以下错误:

python uwsgiconfig.py --plugin plugins/php --verbose
using profile: buildconf/default.ini
detected include path: ['/usr/lib', '/var/lib', '/usr/lib/gcc/x86_64-linux-gnu/4.6/include', '/usr/local/include', '/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed', '/usr/include/x86_64-linux-gnu', '/usr/include']
*** uWSGI building and linking plugin plugins/php ***
gcc -pthread -fPIC -shared -o ./php_plugin.so -I. -O2 -I. -Wall -Werror -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-strict-aliasing -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -DUWSGI_HAS_IFADDRS -DUWSGI_ZLIB -DUWSGI_LOCK_USE_MUTEX -DUWSGI_EVENT_USE_EPOLL -DUWSGI_EVENT_TIMER_USE_TIMERFD -DUWSGI_EVENT_FILEMONITOR_USE_INOTIFY  -DUWSGI_PCRE -DUWSGI_ROUTING -DUWSGI_VERSION="\"2.0.3\"" -DUWSGI_VERSION_BASE="2" -DUWSGI_VERSION_MAJOR="0" -DUWSGI_VERSION_MINOR="3" -DUWSGI_VERSION_REVISION="0" -DUWSGI_VERSION_CUSTOM="\"\"" -DUWSGI_YAML -DUWSGI_SSL -I/usr/include/libxml2 -DUWSGI_XML -DUWSGI_XML_LIBXML2 -DUWSGI_PLUGIN_DIR="\".\"" -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -Wno-sign-compare plugins/php/php_plugin.c -L/usr/lib/x86_64-linux-gnu -lcrypt -lz -lresolv -lcrypt -ldb -lbz2 -lz -lpcre -lrt -lm -ldl -lnsl -lxml2 -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto -lxml2 -lssl -lcrypto -lxml2 -lxml2 -lcrypt -lxml2 -lxml2 -lxml2 -lxml2 -lcrypt -lphp5
/usr/bin/ld: cannot find -lphp5
collect2: ld returned 1 exit status
*** unable to build php plugin ***

非常感谢帮助。

更新

php -v
PHP 5.3.10-1ubuntu3.10 with Suhosin-Patch (cli) (built: Feb 28 2014 23:14:25)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

1 个答案:

答案 0 :(得分:0)

在概述级别,它表示与php5库的链接。如果PHC是这样的:http://www.phpcompiler.org那么它是否有意义寻找PHP库。这在您的机器上安装在哪里?你应该能够:找到libphp5并找到它。如果locate没有看到它,则需要安装PHP。

如果已安装php,(正如您在更新的问题中所提到的,您需要将链接器路径设置为指向该库。有几种方法可以执行此操作,但最简单的方法是设置它使用

export D_LIBRARY_PATH=<path to the php lib>