php安装扩展效果

时间:2011-07-27 02:11:47

标签: php linux

我只是对安装扩展程序的过程很好奇,因为我试图在Ubuntu上安装php的uploadprogress扩展名。我在我的usr /目录中有一个默认的php安装,但我在/ opt中的另一个位置设置了一个XAMPP服务器(单独的php apache mysql包)。这是我用于测试的安装。

当我使用命令pecl install uploadprogress时,扩展会自动安装到/ usr目录。作为测试,我从/ usr目录php位置取出uploadprogress.so文件,并将其放在我的XAMPP安装所在的opt位置。然后我为我的XAMPP安装修改了php.ini并将扩展名放入。当我运行phpinfo()时,它显示uploadprogress已安装,但是在上传文件时,uploadprogress函数返回null。

我的问题是,当安装了php扩展程序,完成了哪些进程,以及创建和修改了哪些文件?如果我手动下载uploadprogress.tgz并手动编译,它仍会安装到/ usr / local / php5 / ext的默认目录,我认为必须完成更多,然后只是在扩展目录中创建的.so文件。 如何更改扩展程序安装的位置?我希望在/ opt中将扩展程序用于我的其他XAMPP安装。

2 个答案:

答案 0 :(得分:1)

  

我的问题是,当安装php扩展时,会完成哪些进程,以及创建和修改哪些文件?

这取决于扩展,但通常有扩展的构建和编译。创建临时文件,可以修改配置,并且(至少)编写实际的模块文件(.so / .dll)。

请记住,某些模块在运行之前需要php.ini中的某些设置。如果您仅复制了.so文件,那么您也应该复制php.ini的相关部分。

  

如何更改扩展程序安装的位置?

您通常会根据要安装它的位置对其进行编译。如果默认位置不是您想要的位置,您可以尝试在构建过程中指定输出目录,并且php-config

答案 1 :(得分:1)

您希望运行configure --help以查看它为编译扩展和查找安装目录路径选项提供的选项。也许这个答案可以帮助你使用pe How do you change the default Pear/PECL build folder from /var/tmp?。 .so文件是一个特殊的独立库。它从任何链接中剥离,基本上是一个目标文件。