php에서 shared object 사용하는 법..
글쓴이: cjh0532 / 작성시간: 수, 2007/03/28 - 12:27오전
간단히
<?
dl('libp.so');
?>
해 보았더니 아니나 다를까.
Unable to load dynamic library '/root/temp/libp.so' - /root/temp/libp.so: cannot open shared object file: Permission denied in /usr/local/apache/htdocs/sotest.php on line 3
위와 같은 에러가 뜨는 군요..
extension_dir=/root/temp를 지정한 상태고요..
그리고 /root/temp/libp.so는 분명히 존재하는 상태고요..
아..죽갔습니다..하루종일 뒤져봐도 당췌 그에 대한 정보는 않보이고..
so를 php에서 인식시키고 so의 함수(예, fun())에서 값을 리턴받고 다른 함수(예, fun1)값을 설정하려면 어떻게 해야 하나요..
고수님들 부탁 좀 드리겠습니다..
Forums:
php 인터페이스에
php 인터페이스에 맞춰서 제작하셔야 하고,
php.ini 에서 dl 어쩌고가 On 되어 있어야 합니다.
emerge money

https://xenosi.de/
지나가는 길에
지나가는 길에 한마디 거듭니다..
php에 저런걸 써본적이 없어서.. 잘은 모릅니다만,,
에러 메세지만 보면 Permission denied..
해당 파일에 대한 권한이 부족한 것 같이 보이네요..
extension_dir 변수를 다른 곳으로 지정해보세요..
/usr/local/apache/phpext 뭐 이정도도 괜찮을 것 같네요..
만들때.. rwxr-xr-x 이정도 권한으로 만드는 것이 좋아보입니다.
대충 짐작해보면...
대부분의 웹서버가 구동되면서 uid,gid를 바꿉니다. root가 아닌 다른유저로..
/root directory는 기본적으로 group, other read, execute안되게
설치가 되는 모양이더군요..
root로 구동되지 않는 process가 /root/tmp/ 디렉토리의 파일을 access하지
못하니 permission denied error가 뜨는 것으로 짐작이 됩니다.
위처럼 ex.._dir 변수를 /root 아닌 다른곳으로 옮기던가.. 물론 process가
access할 수 있는 권한은 주고,, 아니면,, 권한 변경
/root - 755
/root/temp - 755
이정도면 위의 error에 대한 대응이 될 것 같네요..
------------------------------------------------------------
개인 메일 서버를 만들어 사용합시다..
언제부터 e-메일이 포털의 전유물이 된거지??
http://slcweb.homeip.net
댓글 달기