cannot restore segment prot after reloc: Permission denied解决办法

本文介绍如何通过PHP SAPI接口编译并执行PHP代码,包括配置libphp5.so、编写C语言程序调用PHP脚本、解决加载共享库权限问题等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近学习php sapi.

先得到libphp5.so(编译php的时候加入--enable-embed=shared ,然后从.libs里面拷贝,这里不能与--with-apxs2同时出现在编译选项里 版本php5.3.6)

 

程序代码:

 

 

 

编译语句:

gcc -I/usr/local/php5/include/php -I /usr/local/php5/include/php/main -I /usr/local/php5/include/php/Zend -I /usr/local/php5/include/php/TSRM -lphp5  main.c

生成a.out

 

但在执行a.out的时候却报错:

error while loading shared libraries: /usr/lib/libphp5.so: cannot restore segment prot after reloc: Permission denied

 

网上查了下,解决办法:

chcon -t texrel_shlib_t /usr/lib/libphp5.so

关于chcon命令,可以参考这里:http://bbs.chinaunix.net/thread-1989582-1-1.html

 

在执行a.out就成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值