linuxphp重新编译
由于好久没有搭环境,在linux上搭apache、PHP的环境时,遇到libphp5.so 无法生成这个问题,我也困扰了我半天,很是郁闷。从网上找了各种资料,都是瞎转载,太无聊的一堆人了,自己成功没有成功的先转载,鄙视。 害的我尝试了半天也没有解决。下面列出我的正确解决办法:
常见问题一:配置apache打开libphp5.so文件后提示错误
/usr/local/apache2/moles/libphp5.so: No such file or directory
解答: 发现moles下面没有libphp5.so文件,说明安装apache2的时候配置有问题,需要重新编译安装,必须采用 ./configure --enable-so 这种方式。然后重新安装 make clean -> make -> make install。 然后重新安装php,安装时要求采用./configure --with-apxs2=/usr/local/apache2/bin/apxs 这种方式 然后 make & make install。如果还出现这个问题,可以重新安装一下apache 和 php
常见问题二:在centOS中 配置apache的php时提示错误
cannot restore segment prot after reloc: Permission denied
解答:可以网络查看资料,关于centOS中的selinux。SELINUX的问题,对LIB库的保护。
关闭 SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq!#保存退出
shutdown -r now#重启系统
⑵ linux系统怎么样在不重新编译php增加open ssl扩展
今天使用QQ登录时, 遇到了不能跳转的问题。发现是php不支持openssl.
又不想重新编译php, 网上多方寻找。终于找到解决方案。 记录如下:
#下面是php的安装目录
/usr/local/php5/bin/
#切换到php安装目录的 etx/openssl目录
cd /php-5.3.8p/ext/openssl
#查看openssl目录下有个config0.m4,把config0.m4改名为config.m4。
cp config0.m4 config.m4
#依次执行:
/usr/local/php5/bin/phpize
./configure –with-openssl –with-php-config=/usr/local/php5/bin/php-config
make && make install
#然后找到php.ini所在位置 打开 extension_dir(如果没有则自行添加), 同时添加 extension = "openssl.so"
#重启服务器 即可
#openssl 查看方法:
/usr/local/php5/bin/php -i |grep openssl
⑶ linux 怎样修改php.ini
在命令提示符下进入php.ini文件所在的目录,一般都是/etc目录,如果要进入的话就用命令cd /etc 回车。
可以用dir php.ini来显示确认一下该文件在不在你的当前目录。
如果在,就用命令vi php.ini或vim php.ini来打开并进行编辑。这里需要注意的是刚打开时屏幕处于不可编辑状态,需要按“i”键后才能编辑。编辑完后需要保存退出时的操作为,按ESC键然后输入“:wq! ”保存文件,并退出vi编辑器。
⑷ linux已经安装openssl,如何重新编译php支持openssl模块
下载php的源代码,执行三步安装就行了:
./configure
make && sudo make install
sudo make clean
就可以了,然后编辑php.ini文件加入模块支持:
extensions=openssl.so
好了。大工告成~~~
⑸ linux下编译PHP,并使之关联Apache,有没有高手,求助啊。
如果是rpm报的话,默认是不用结合的,只要把php文件放到apache的文件路径下就好
如果是源码包的话,我建议重新编译php软件,进行如下配置:
[/root/Desktop/mysql]#tar jxf php-5.2.9.tar.bz2 -C /usr/local/src/
[/usr/local/src/php-5.2.9]#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs:用apache的apxs工具把php编译成apache的一个模块
--with-mysql=/usr/local/mysql:与mysql结合(如果没有安装mysql话,就不要此项了)
[/usr/local/src/php-5.2.9]#make
[/usr/local/src/php-5.2.9]#make install
[/usr/local/src/php-5.2.9]#cp php.ini-dist /usr/local/php/
[/usr/local/php]#mv php.ini-dist php.ini
[/usr/local/php]#ls
bin etc include lib man php.ini
[/usr/local/apache2/moles]#ls libphp5.so
libphp5.so
[/usr/local/apache2]#cd conf/httpd.conf
99 LoadMole php5_mole moles/libphp5.so 模块
355 AddType application/x-httpd-php .php 识别php网页
212 DirectoryIndex index.html index.php 默认网页