菜刀2016 php,PHP

本文指导如何查看php.ini文件路径,列举了phpinfo()显示配置的方法,并提供了遇到常见错误如socket_create(), curl_init()和openssl扩展问题的解决方案,包括编译安装Memcache扩展的步骤。
摘要由CSDN通过智能技术生成

Q & A

如何查看 php.ini 文件路径?

新建一个 test.php 文件,内容如下:

phpinfo();

?>

然后在浏览器使用 url 访问 test.php,会显示 php 相关的配置、插件等大量相关信息,在其中 Loaded Configuration File 一项即可找到所有生效的 php.ini 文件路径。

或者,更简单地可以直接运行命令输出以上信息(如果安装了多个版本的 php,那注意使用正确的 php 命令):

php -r "phpinfo();"

本地运行一个 php 文件

php [-f] test.php

几种错误提示及对应的解决办法

提示:

PHP Fatal error: Uncaught Error: Call to undefined functionsocket_create()

解决办法:

在 php.ini 文件中配置启用扩展 php_curl.dll。

提示:

PHP Fatal error: Uncaught Error: Call to undefined functioncurl_init()

解决办法:

在 php.ini 文件中配置启用扩展 php_curl.dll。

提示:

The openssl extension is required forSSL/TLS protection but is not available. If you can not enablethe openssl extension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true

解决办法:

在 php.ini 文件中配置启用扩展 php_openssl.dll。

在开发环境下直接在页面显示出错信息

修改 php.ini 文件,配置 display_errors = On。

安装 Memcache(not Memcached)for php7

当前(2016-10-19)Memcache 扩展并未有官方的支持办法,所以从源码编译安装。

步骤:

下载解压源码

wget https://github.com/websupport-sk/pecl-memcache/archive/NON_BLOCKING_IO_php7.zip

unzip NON_BLOCKING_IO_php7.zip

cdpecl-memcache-NON_BLOCKING_IO_php7

编译

/usr/local/php7/bin/phpize && ./configure --enable-memcache --with-php-config=/usr/local/php7/bin/php-config && make

注意 phpize 和 php-config 要使用 php7 下的。

放置 so 文件到正确位置

cp modules/memcache.so /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/memcache.so

目标路径可以在 phpinfo() 的 extension_dir 字段找到。

配置

echo 'extension=memcache.so' > /usr/local/php7/etc/php.d/memcache.ini

目标路径可以在 phpinfo() 的 Scan this dir for addtional .ini files 字段找到。

重启服务使扩展生效

service php-fpm restart

修改 php.ini 后让配置生效

service php-fpm restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值