草庐IT

curl - 在 php.ini 上启用 curl_exec

我想运行带有curl的php脚本。但以下功能被php.ini禁用:exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,show_source我在php.ini中更改了以下行:disable_functions=exec,passthru,shell_exec,system,proc_open,popen,show_source并在ssh上运行servicehttpdrestart命令,但是当我运行phpinfo()函数时,它将再次显示curl_exec和curl_multi_exec被禁用。

当在类中定义魔术方法 __get 和 __set 时,PHP 函数 Empty 不起作用

目前我在YII框架中工作,我在其中创建了一个扩展CFormModel的类,在该类中,我覆盖了以下函数:publicfunction__get($name)publicfunction__set($name,$value)我已进行以下检查以确保end_date和start_date不为空if(!empty($this->end_date)AND!empty($this->start_date)){**/*NotWorking*/**/*SomeApplicationLogic*/}但是它不能正常工作并且条件不满足。当我调试代码时,我开始知道$this->start_date和$this-

PHP ini_set session gc_maxlifetime 不工作

我正在尝试在PHP中设置gc_maxlifetime。这是“header.php”中的代码,我在每个页面都包含了它。ini_set('session.cookie_lifetime',1);ini_set('session.gc_maxlifetime',1);session_start();我用它来测试echoini_get('session.gc_maxlifetime');它确实设置为1。但它仍然保持登录状态,即session没有被删除。可能的原因是什么? 最佳答案 为什么垃圾收集不运行?GC并不总是在每个请求上运行,默认的P

php - 在 php.ini 上编辑不起作用

我在Apache2中安装了PHP。当我在我的php.ini中进行修改时,例如取消注释模块以激活它,它不起作用。在我的phpinfo()中,LoadedConfigurationFile位于C:\php\php.ini上,这是正确的位置。p>每次修改php.ini后,我都会重新启动Apache。PHP在Apache上运行良好。那么为什么我不能激活我的模块?(实际上我正在尝试为MySQL激活PDO驱动程序) 最佳答案 取消注释此行以考虑扩展:;extension_dir="ext" 关于ph

php - parse_ini_file() 出于安全原因已被禁用 - 替代方案?

parse_ini_file()有什么替代方案吗?真的有那么危险吗?是禁用它的充分理由,还是我可以以某种方式说服管理员它是安全的?parse_ini_file()hasbeendisabledforsecurityreasons我已经找到这个错误的意思了errordescription我在这段代码中使用(有一些拼写错误的问题,但它在一个主机上解决并工作正常但在另一个主机上没有,因为禁用该功能)mycode 最佳答案 老实说,我找不到合理的理由来禁用该功能,但是,如果parse_ini_string()可用并且您还可以阅读文件,您应该

php - __get() 和 __set() 是否意味着泄漏封装?

在OO编程中,使用魔法方法__get()和__set()会不会被人看不起,这些会导致类的封装泄漏吗?例如:classUser{private$username;private$password;publicfunction__set($name,$value){$this->$name=$value;}publicfunction__get($name){return$this->$name;}}这有效地使private/protected变量public。 最佳答案 您的代码:classUser{private$username;

php - phpinfo 中缺少 mbstring 但在 php.ini 中启用

类似于这个问题:gd2notshowinginphpinfo,isshowinginphp-i我对mbstring也有同样的问题。我在我的php.ini中启用了它(这是我整个系统中唯一的php.ini-是的,我检查了和仔细检查了这一点!),但是当我在我的Apache上打开phpinfo时,mbstring丢失了。如果我执行php-i,所有mbstring数据都会很好地显示。Apache(phpinfo.php)ConfigurationFile(php.ini)PathC:\WindowsLoadedConfigurationFileF:\PHP\5.4\php.iniScanthis

php - 在脚本中使用 ini_set 是否被认为是不好的做法?

我正在进行代码审查,发现有2个地方ini_set('memory_limit','512M');在函数中使用。这个可以吗?不知何故,这对我来说似乎不对。这被认为是不好的做法吗?谢谢! 最佳答案 这没什么问题。考虑这样一种情况,其中memory_limit在PHP的ini文件中全局设置,并且您只想为一个特定的脚本/请求覆盖该设置以允许操作使用更多内存。在PHP脚本中调用ini_set只会在PHP执行该特定请求时生效。 关于php-在脚本中使用ini_set是否被认为是不好的做法?,我们在S

php - 你如何获得 PHP master ini 值

在phpinfo中,它显示了ini设置的“Master”和“Local”值。我想比较它们以确定设置自脚本开始后是否已更改。获取本地值很容易:但是我找不到任何描述如何获取主值的内容。 最佳答案 我认为get_cfg_var()正是您要找的。引用acommentinthemanualThedifferencebetweenini_get()andget_cfg_var()isasfollows:ini_get():returnsthecurrentvaluein.htaccessorasdefinedinPHP_INI_USERorPH

php - Symfony3 : How to set multiple connections?

我正在使用Symfony3应用程序,我想建立到不同数据库的多个连接。我一直在四处寻找,找到了关于entityManagers和数据库连接的文档。我的config.yml配置如下:配置.ymldoctrine:dbal:default_connection:defaultconnections:default:driver:pdo_mysqlhost:"%database_host%"port:"%database_port%"dbname:"%database_name%"user:"%database_user%"password:"%database_password%"chars