cannot restore segment prot after reloc: Permission denied解决办法
2011-05-23 15:46
615 查看
最近学习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就成功了
先得到libphp5.so(编译php的时候加入--enable-embed=shared ,然后从.libs里面拷贝,这里不能与--with-apxs2同时出现在编译选项里 版本php5.3.6)
程序代码:
#include "sapi/embed/php_embed.h" int main(int argc, char * argv[]){ PHP_EMBED_START_BLOCK(argc,argv); char * script = "echo str_replace('ab','cd','love ddcccccdcccccc');"; zend_eval_string(script, NULL,"" TSRMLS_CC); char * sr = "$a='1';print $a;"; zval pv; zend_eval_string(sr, &pv,"" TSRMLS_CC); //保存输出 switch(Z_TYPE(pv)){ case IS_STRING: printf("%.*s",Z_STRLEN(pv),Z_STRVAL(pv)); break; case IS_LONG: printf("%d",Z_LVAL(pv)); break; } PHP_EMBED_END_BLOCK(); return 0; }
编译语句:
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就成功了
相关文章推荐
- 重启apache时,libphp5.so: cannot restore segment prot after reloc: Permission denied 错误的解决办法
- 手工编译安装php后,重启apache时,libphp5.so: cannot restore segment prot after reloc: Permission denied 错误的解决办法
- cannot restore segment prot after reloc: Permission denied解决办法
- [转]解决 cannot restore segment prot after reloc: Permission denied
- [转]解决 cannot restore segment prot after reloc: Permission denied
- cannot restore segment prot after reloc: Permission denied 解决方法
- cannot restore segment prot after reloc:Permission denied解决
- 『Linux』cannot restore segment prot after reloc: Permission denied 解决方法
- 解决 apache2/modules/libphp5.so:cannot restore segment prot after reloc: Permission denied的方法
- ffmpeg安装解决“cannot restore segment prot after reloc: Permission denied”
- cannot restore segment prot after reloc: Permission denied 解决方法
- 程序运行时加载动态库cannot restore segment prot after reloc: Permission denied错误解决方法
- 解决error while loading shared libraries: libmysqlclient.so.15: cannot restore segment prot after reloc: Permission denied的错误
- cannot restore segment prot after reloc: Permission denied 解决方法
- 解决错误error :/usr/lib/libjvm.so: cannot restore segment prot after reloc: Permission denied
- [转]解决 cannot restore segment prot after reloc: Permission denied
- cannot restore segment prot after reloc: Permission denied 解决方法
- cannot restore segment prot after reloc: Permission denied
- 在linux下出现cannot restore segment prot after reloc: Permission denied
- Linux:cannot restore segment prot after reloc:Permission denied