Questions tagged «php»

PHP是一种广泛使用的高级动态,面向对象和解释性脚本语言,主要用于服务器端Web开发。用于有关PHP语言的问题。


12
如何在PHP 7中安装ext-curl扩展?
我已经使用此repo安装了PHP 7 ,但是当我尝试运行时composer install,出现此错误: [package]需要ext-curl *->您的系统缺少所请求的PHP扩展curl。 使用PHP 5,您可以通过运行yumor apt-get install php5-curl命令轻松安装它,但是我找不到如何安装等效的PHP 7。 如何为PHP 7安装ext-curl?
188 php  curl  php-7 

17
测试PHP中变量是否存在的最佳方法;isset()已明显损坏
从isset()文档: isset() will return FALSE if testing a variable that has been set to NULL. 基本上,isset()不检查是否已设置变量,而是检查是否将其设置为NULL。 鉴于此,实际检查变量是否存在的最佳方法是什么?我尝试了类似的东西: if(isset($v) || @is_null($v)) (未设置@时有必要避免警告$v),但is_null()有一个类似的问题isset():它会返回未TRUE设置的变量!还显示: @($v === NULL) 的工作方式与完全相同@is_null($v),所以也可以了。 我们应该如何可靠地检查PHP中是否存在变量? 编辑:PHP中未设置的变量与设置为的变量之间显然存在差异NULL: <?php $a = array('b' => NULL); var_dump($a); PHP表明$a['b']存在并且具有NULL价值。如果添加: var_dump(isset($a['b'])); var_dump(isset($a['c'])); 您可以看到我在使用该isset()功能时所含的歧义。这是所有这三个的输出var_dump()s: array(1) { ["b"]=> NULL } bool(false) bool(false) 进一步编辑:两件事。 一,用例。将数组转换为SQL UPDATE语句的数据,其中数组的键是表的列,而数组的值是要应用于每一列的值。该表的任何列都可以保存一个NULL值,通过NULL在数组中传递值来表示。你需要一种方法来区分不存在的数组键和将数组的值设置为NULL;这就是不更新列的值和将列的值更新为的区别NULL。 其次,Zoredache的答案,array_key_exists()工作正常,我上面的用例和任何全局变量: <?php …
187 php  variables  isset 

12
将Cookie设置为永不过期
查看有关设置cookie的php文档,我看到可以设置cookie的失效日期。您可以将cookie设置为在浏览器会话结束时或将来的某个时间过期,但是我看不到将cookie设置为永不过期的方法。这有可能吗?如何实现?
187 php  cookies 

16
PHP-SSL证书错误:无法获取本地颁发者证书
我正在Windows 7上将PHP版本5.6.3作为XAMPP的一部分运行。 当我尝试使用Mandrill API时,出现以下错误: 消息“ API调用消息/发送模板失败”的未捕获异常“ Mandrill_HttpError”:SSL证书问题:无法获取本地颁发者证书 我已经尝试了我在StackOverflow上阅读的所有内容,包括将以下内容添加到php.ini文件中: curl.cainfo = "C:\xampp\php\cacert.pem" 当然,还可以从http://curl.haxx.se/docs/caextract.html将cacert.pem文件下载到该位置。 但毕竟,重新启动了XAMPP和Apache服务器,但仍然收到相同的错误。 我真的不知道还能尝试什么。 谁能建议我还能尝试什么?
187 php  ssl  curl  xampp  mandrill 

15
Composer安装错误-实际启用时需要ext_curl
我正在尝试使用Composer安装Facebook PHP SDK。这就是我得到的 $ composer install Loading composer repositories with package information Installing dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for facebook/php-sdk dev-master -> satisfiable by facebook/php-sdk[dev-master]. - facebook/php-sdk dev-master requires ext-curl * -> the requested PHP …

16
file_get_contents():SSL操作失败,代码为1,无法启用加密
我一直试图从我在服务器上创建的PHP页面访问此特定的REST服务。我将问题缩小到这两行。所以我的PHP页面看起来像这样: <?php $response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json"); echo $response; ?> 该页面死于第2行,并出现以下错误: 警告:file_get_contents():SSL操作失败,代码为1。OpenSSL错误消息:error:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证在第2行的... php中失败 警告:file_get_contents():无法在第2行的... php中启用加密 警告:file_get_contents(https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json):无法打开流:第2行... php中的操作失败 我们正在使用Gentoo服务器。我们最近升级到PHP版本5.6。升级之后,才出现此问题。 我发现我将REST服务替换为https://www.google.com;我的页面工作正常。 在较早的尝试中,我设置了“verify_peer”=>false,并将其作为参数传递给file_get_contents,如下所述: file_get_contents忽略verify_peer => false? 但是就像作者指出的那样;没关系。 我已经问过我们的服务器管理员之一,我们的php.ini文件中的这些行是否存在: 扩展名= php_openssl.dll allow_url_fopen =开 他告诉我,由于我们使用的是Gentoo,因此在构建时便会编译openssl;并且未在php.ini文件中设置。 我还确认这allow_url_fopen是可行的。由于此问题的特殊性质;我找不到很多帮助的信息。你们有没有遇到过这样的事情?谢谢。

12
如何在PHP中修剪数组值的空白
我有如下数组 $fruit = array(' apple ','banana ', ' , ', ' cranberry '); 我想要一个数组,该数组的值在两边都没有空格,但是它可以包含空值,如何在php中做到这一点。输出数组应该像这样 $fruit = array('apple','banana', ',', 'cranberry');
185 php  arrays 

9
MySQL大圆距离(Haversine公式)
我有一个工作的PHP脚本,该脚本获取经度和纬度值,然后将它们输入到MySQL查询中。我只想将其制作成MySQL。这是我当前的PHP代码: if ($distance != "Any" && $customer_zip != "") { //get the great circle distance //get the origin zip code info $zip_sql = "SELECT * FROM zip_code WHERE zip_code = '$customer_zip'"; $result = mysql_query($zip_sql); $row = mysql_fetch_array($result); $origin_lat = $row['lat']; $origin_lon = $row['lon']; //get the range $lat_range = $distance/69.172; $lon_range …
184 php  mysql  great-circle 

10
禁用Laravel雄辩的时间戳
我正在将我们的一个Web应用程序从CodeIgniter转换为Laravel。但是,目前我们不想将updated_at/ created_at字段添加到所有表中,因为我们已经有了一个日志记录类,该类已经为我们做了更深入的介绍。 我知道我可以设置$timestamps = false;: Vendor\laravel\framework\src\illuminate\Datebase\Eloquent\Model.php 但是,我不想更改Laravel的核心文件,或者不要让我的每个模型都放在顶部。有什么方法可以在所有型号的其他位置禁用此功能吗?
184 php  laravel  eloquent 

14
用PHP检测移动设备的最简单方法
判断用户是否使用移动设备通过PHP浏览我的网站的最简单方法是什么? 我遇到了许多可以使用的类,但是我希望有一个简单的if条件! 有办法吗?
184 php  mobile 

3
PHP sprintf转义%
我想要以下输出:- 将从您的充值帐户中扣除27.59欧元的50%。 当我做这样的事情时: $variablesArray[0] = '€'; $variablesArray[1] = 27.59; $stringWithVariables = 'About to deduct 50% of %s %s from your Top-Up account.'; echo vsprintf($stringWithVariables, $variablesArray); 但这给了我这个错误,vsprintf() [function.vsprintf]: Too few arguments in ...因为它也考虑使用%in 50%进行替换。我该如何逃脱?
184 php  escaping  printf 

27
将字节格式化为千字节,兆字节,千兆字节
方案:各种文件的大小以字节为单位存储在数据库中。将此大小信息格式化为千字节,兆字节和千兆字节的最佳方法是什么?例如,我有一个MP3,Ubuntu显示为“ 5.2 MB(5445632字节)”。如何在网页上将其显示为“ 5.2 MB”,并且文件大小小于1 MB的文件显示为KB,文件大小大于1 GB的文件显示为GB?
184 php 

9
取消设置元素后重新设置数组键的基数
我有一个数组: $array = array(1,2,3,4,5); 如果我要转储数组的内容,它们将如下所示: array(5) { [0] => int(1) [1] => int(2) [2] => int(3) [3] => int(4) [4] => int(5) } 当我遍历并取消设置某些键时,索引将全部升起。 foreach($array as $i => $info) { if($info == 1 || $info == 2) { unset($array[$i]); } } 随后,如果我现在又进行了一次转储,它将看起来像: array(3) { [2] => int(3) [3] => int(4) …
183 php 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.