我正在使用MAMP服务器我正在尝试在我的php中加载扩展但我收到错误,我尝试了一切但我无法加载:(。
我正在使用mac os和php 5.6.7
该行用于扩展名:extension = protocolbuffers.so
我插入:Applications / MAMP / bin / php / php5.6.7 / conf / php.ini
我插入了:/Applications/MAMP/conf/php5.6.7/php.ini
仍未加载。
我运行名为:extension.php的php文件,看看我的扩展程序是否正在加载。 所以我得到了错误所以我绝对不加载扩展名:
致命错误:在第3行的/Applications/MAMP/htdocs/ci-match/extension.php中调用未定义的函数dl()
<?php
if (!extension_loaded('protocolbuffers')) {
if (!dl('protocolbuffers.so')) {
exit;
}
}
?>
我太用php了
的print_r(get_loaded_extensions());
?&GT;
但我看不到我的扩展名,你们怎么能帮我加载那个扩展名?
你可以帮助我吗?谢谢。答案 0 :(得分:1)
除了dl()
-function已从许多SAPI中完全删除之外,由于安全原因,它通常会被禁用。
我不确定禁用是否会导致未定义的功能错误或某种安全错误。猜猜你必须找出答案。
您可以使用php.ini
中的enable_dl
-directive控制对其的访问,并确保未启用安全模式。
至于您尝试加载扩展程序:
我将运行带有phpinfo();
的.php文件。这将告诉您正在加载哪些.ini文件以及扩展目录的位置。
然后,您可以使用该信息将其添加到正确的位置。有可能你的MAMP从一个奇怪的位置加载。
很难远程诊断这类问题。