无法在 FreeBSD 9.3 上安装 PHP

无法在 FreeBSD 9.3 上安装 PHP

我尝试按照教程在刚刚获得的 FreeBSD 服务器上安装 Php5。

所以我首先

cd /usr/ports/lang/php5

然后

make config

没有改变任何选项,最后我做了

 make install

但它给了我一些错误。

root@ns******:/usr/ports/lang/php5 # make install
===>   php5-5.4.39 depends on file: /usr/local/bin/autoconf-2.69 - not found
===>    Verifying install for /usr/local/bin/autoconf-2.69 in /usr/ports/devel/autoconf
===>   autoconf-2.69 depends on executable: gm4 - found
===>   autoconf-2.69 depends on executable: help2man - not found
===>    Verifying install for help2man in /usr/ports/misc/help2man
===>   help2man-1.43.3_1 depends on package: p5-Locale-gettext>=0 - not found
===>    Verifying install for p5-Locale-gettext>=0 in /usr/ports/devel/p5-Locale-gettext
===>  Installing for p5-Locale-gettext-1.05_4
===>   p5-Locale-gettext-1.05_4 depends on file: /usr/local/bin/perl5.16.3 - found
===>   p5-Locale-gettext-1.05_4 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so)
===>  Checking if p5-Locale-gettext already installed
===>   Registering installation for p5-Locale-gettext-1.05_4 as automatic
pkg-static: lstat(/usr/ports/devel/p5-Locale-gettext/work/stage/usr/local/lib/perl5/site_perl/mach/5.16/auto/Locale/gettext/gettext.so): No such file or directory
pkg-static: lstat(/usr/ports/devel/p5-Locale-gettext/work/stage/usr/local/lib/perl5/site_perl/mach/5.16/Locale/gettext.pm): No such file or directory
pkg-static: lstat(/usr/ports/devel/p5-Locale-gettext/work/stage/usr/local/lib/perl5/site_perl/man/man3/Locale::gettext.3.gz): No such file or directory
*** [fake-pkg] Error code 74

Stop in /usr/ports/devel/p5-Locale-gettext.
*** [build-depends] Error code 1

Stop in /usr/ports/misc/help2man.
*** [install] Error code 1

Stop in /usr/ports/misc/help2man.
*** [build-depends] Error code 1

Stop in /usr/ports/devel/autoconf.
*** [build-depends] Error code 1

Stop in /usr/ports/lang/php5.
*** [install] Error code 1

Stop in /usr/ports/lang/php5.

因此,我从 gnu 站点下载了 autoconf-2.69,但它找不到 libtool22。我也下载了它,并“修复”了它。但随后又出现了另一个错误。

我没有在我的个人电脑上,所以我不能在这里发布错误,但继续说,它拒绝我使用 autoconf 的权限,并且 chmod 不起作用(至少我的朋友告诉我使用这个命令)!

如果有帮助的话,我通过 bitvise ssh 上传了这些内容。这是一个专用服务器,我有 root 访问权限,在 kimsufi 上获取了它。

我该如何修复这个问题?谢谢。

答案1

gettext端口已被分成两个不同的端口,因此您拥有过时的软件,需要在安装之前进行更新。

首先,更新你的端口树:

portsnap fetch update

可能还要等一下。

然后你必须安装一些工具portmaster

make -C /usr/ports/ports-mgmt/portmaster install clean

然后你必须检查你的端口是否处于一致状态:

portmaster --check-depends 
portmaster --check-port-dbdir 
portmaster -y --clean-distfiles

然后你必须卸载旧的gettext

pkg delete -f gettext

现在您可能想要安装www/mod_php5- lang/php5apache 模块现在是单独的端口,而 CLI/FPM 仍在旧的位置。

make -C /usr/ports/www/mod_php5 install clean
make -C /usr/ports/lang/php5 install clean
make -C /usr/ports/lang/php5-extensions install clean

Freshgettext将作为依赖项自动安装,以及许多其他新端口。

当您的主机有点过时时,出于安全原因,您需要更新所有端口:

portmaster -atd

您可能会遇到另一个依赖项错误,因此只需卸载相应的端口(如gettext之前一样),然后portmaster -aRtd反复启动,直到所有问题都得到解决。如果仍然出现一些奇怪的消息,您可以通过以下方式一次重新安装所有端口:portmaster -aftd

PS 您应该仅从端口/包安装软件以避免不可预见的后果。

答案2

会对pkg install p5-Locale-gettext你有帮助吗?(如果它提供删除和/或重新安装其他软件包,请小心)

相关内容