草庐IT

虚拟空间

全部标签

php - 为什么 apache 将偏移量保存到 php-cli 保存虚拟内存地址的内存中?

我正在调试php。当查看内存中我知道指向地址的指针所在的位置时,我看到了指针-例如22810408(0x08048122)-这是在使用php的CLI版本时。但是,当我使用apache2并尝试做同样的事情时,我没有看到指向真实地址的指针。相反,我看到ELFheader的偏移量,当添加到ELFheader的地址时,它会给我“真实”地址。例如,如果“真实”地址是0x08048122,而ELFheader位于0x08048000,那么我会在同一位置看到22010000(0x122)。当我试图找出堆栈上某物的“真实”地址时,问题就出现了。“真实”地址应该是0xbfccxxxx,但是当我将我找到的

命名空间的 PHP use 语句

也许这是个奇怪的问题,但我无法弄清楚当您编写时php内部会发生什么:usegarcha\path\class;我不是在问命名空间的用途,而是在问该语句本身,即使它不分配任何内存,我的意思是,当您甚至为某个类提供别名时:usegarcha\path\classaswithNewName;它存储在哪里?或者它是如何记住名字的?它只发生在编译时吗?而不是运行时间?就像只是描述功能。 最佳答案 这不是一个非常复杂的算法(对于5.5,在5.6中描述的类名部分是相同的)。如果有必要,创建哈希表的实例。它保留导入(使用的命名空间类)。在使用as关

php - 如何替换 PHP 字符串中的表意空间?

表意空间是http://www.charbase.com/3000-unicode-ideographic-space,是中日韩标点符号。它看起来像一个普通的空间,但它实际上在屏幕上占据了2个位置而不是1个(就像汉字那样)我试过用str_replace("","",$mystring)去掉它们,当然不行,因为我这里输入的空格是ASCII空格。我也试过用汉字输入法手动输入表意空间,但看起来这样我也会去掉部分其他字符的代码,它返回乱码。那么我怎样才能去掉这些空格呢? 最佳答案 通过从您链接到的信息页面复制符号,我能够很好地替换字符。您可

php - 无法在 PHP 中导入/使用命名空间函数

我有一个名为test.php的命名空间文件,其中包含一个函数和一个类:namespaceTest;functiontestFunc(){}classTestClass{}然后,如果在另一个文件中我“使用”了这两个命名空间元素,则该类有效但函数无效:useTest\testFunc,Test\TestClass;include"test.php";newTestClass();testFunc();TestClass对象创建的很好,但是我得到了testFunc()的fatalerror:Fatalerror:CalltoundefinedfunctiontestFunc()我认为命名空间

php - 关于 PHP 中具有静态函数和命名空间的类的问题

我在工作中使用的是PHP5.2.14,因此我没有命名空间选项。我可以用静态函数代替类来命名空间吗?例如,我们周围有很多“方便”的功能,它们可以执行各种杂项,这些功能都集中在这个文件中,而且它们往往会变得困惑。我很乐意看到他们遵循某种组织逻辑。所以我的解决方案是...我只想创建名为“StringTools”或“DateTools”的类,每次我们需要使用这些函数时,我都会简单地调用SomethingTools::funciton_name(...)。这将是一个充满静态函数的简单类,带有一个空的构造函数,纯粹是为了命名空间和组织而创建的。它会很容易管理并且非常有条理,因为相关的功能将被组织到

php - 在 Apache 虚拟主机之间传输 session 数据

如何将PHPsession数据从一个Apache虚拟主机传递到另一个虚拟主机?我目前正在运行Apache2.2.17和PHP5.3.3,我已经设置了一个主机来管理单点登录应用程序,我需要将其传递给另外两个运行独立应用程序的虚拟主机。这是我打算进一步开发的东西,但目前传递session数据是最简单的。目前此代码在SSO子域auth.domain.com中创建第一个session,然后将用户传递回应用程序接口(interface)app.domain.com(已被修剪):$user=newUser;$user->set_user_session();Header("Location:$re

php - C++ 在 PHP 中使用命名空间?

PHP有某种C++的usingnamespace吗?(因此您不必在调用之前编写任何namespace)我在其中定义了一个函数:namespace\Project\Library{functionhello(){}}另一个file.php:use\Project\Library;hello();//>Error:Calltoundefinedfunctionhello()附言。我知道我可以使用use\Project\LibraryasL;然后执行L\hello();我也想避免L\。编辑我自己回答:你做不到。在我看来,这很糟糕(这是我不喜欢PHP的第一件事)。编辑2明确一点:如果hello

php - 具有相同命名空间的不同 Composer 包

介绍我正在使用Laravel4并且有两个具有相同命名空间的Composer包,使用PSR-0自动加载。composer.json文件的简化示意图如下。Laravel应用程序composer.json{"require":{"laravel/framework":"4.2.*","xxxxx/packageA":"1.2.0"}}xxxxx/packageAcomposer.json{"require":{"xxxxx/packageB":"~2.1.0"},"autoload":{"psr-0":{"NS":"src/"}}}xxxxx/packageBcomposer.json{"a

PHP命名空间困惑,找不到类

我在自己的文件中的同一文件夹中有两个类。但是当我试图将一个扩展到另一个时,它给出了命名空间和类未找到错误。Info:ItisthefirsttimeIamextendingclassusingnamespace.Alsonestednamespaceisnewtome.DB\CRUDSomaybeIamdoingcompletelywrongwithnamespace.错误信息:Fatalerror:Class'DB\AT_Database'notfoundin/var/www/...数据库类文件:AT_Database.phpnamespaceDB;classAT_Database{

PHP 命名空间全局

有没有办法获得PHP命名空间,以允许在命名空间内调用函数,就好像它们是全局函数一样?例子:handle()而不是:prggmr\handle()这是我的示例代码:别名不适用于函数:结果:Fatalerror:Calltoundefinedfunctionhandle() 最佳答案 根据我的理解,文档摘录表明这是不可能的......Neitherfunctionsnorconstantscanbeimportedviatheusestatement.来源:http://www.php.net/manual/en/language.na