如何在php5.3中找到php.ini

时间:2012-04-13 09:21:43

标签: php apache sockets

当我创建套接字程序时,我遇到了问题。

/* Get the port for the WWW service. */
$service_port = getservbyname('www', 'tcp');

/* Get the IP address for the target host. */
$address = gethostbyname('localhost');

/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
------------------

当我运行程序时,我会收到类似这样的错误

1
Fatal error: Call to undefined function socket_create() in /opt/local/apache2/htdocs/php/TCPclient.php on line 14

我认为该错误是因为我没有启用extension=php_sockets.dll

但是当我试图找到php.ini我没有找到php.ini我刚刚发现php.ini-development和php.ini-production,我改变该文件以启用extension=php_sockets.dll但是当我'再次尝试运行我的程序我仍然得到相同的错误,

谁知道有什么问题? 我给了我本地的phpinfo,我仍然担心phpinfo中的配置文件是没有的,是不是缺少了? 感谢您的回答。 php info

4 个答案:

答案 0 :(得分:2)

看起来你在Mac OS上运行PHP。如果使用macports安装它,请运行以下命令

sudo port install php5-sockets

答案 1 :(得分:1)

我在这里看到两件不同的事情:

  1. 您认为扩展名为.dll格式。实际上那是窗户。你没有运行Windows。

  2. 您正在运行UNIXoide系统接下来常见的事情就是让一个配置文件也包含其中包含更多配置文件的文件夹,这样,如果通过所有配置目录递归扫描这将创建一个基于多个文件的配置数据库。是啊!岩石!但是,问题是,你的phpinfo有多种东西要检查(如果到目前为止还没有注意到):

    • 配置文件(php.ini)路径 - 这是配置的主要配置文件。
    • 已加载的配置文件 - 这是实际加载的主要配置文件。
    • 扫描此目录以获取其他.ini文件 - PHP也会在此处查看。
    • 解析了其他.ini文件 - 实际上已经加载了这些文件。
  3. 所以请仔细看看所有这些设置,真的,真的要注意不要混淆。 PHP configuration is documented in the PHP Manual

    查看文档扩展名是什么,如何安装等.pp。这取决于您的系统和软件管理。

答案 2 :(得分:0)

这是一个相当公平的假设。我确信因为你的机器上找不到php.ini,所以你遇到了安装问题。

您使用的是哪种Web服务器?您是在安装Apache还是使用IIS进行PHP支持?

您的快照不包含--enable-sockets选项,也不包含已加载的配置文件(php.ini)。

答案 3 :(得分:0)

由于您在Mac上运行,因此无法使用dlla。您可以使用socket支持编译php或尝试Xampp

http://www.apachefriends.org/en/xampp-macosx.html