Tag: php

节点js错误:找不到模块'./lib/socket.io'

我有我的服务器与早期版本的node.js,npm和socket.io工作,但更新后,我开始与socket.io问题: Error: Cannot find module './lib/socket.io' at Function._resolveFilename (module.js:333:15) at Function._load (module.js:280:25) at Module.require (module.js:357:17) at require (module.js:373:17) at Object.<anonymous> (/usr/local/lib/node_modules/socket.io/index.js:8:18) at Module._compile (module.js:444:26) at Object..js (module.js:462:10) at Module.load (module.js:351:32) at Function._load (module.js:309:12) at Module.require (module.js:357:17) 我用命令npm安装了socket.io模块 install socket.io 它将socket.io放置在我的项目的node_modules下。 我发现起初奇怪的是,错误信息是“./lib/socket.io”,但是当我看到它时,我发现project / node_modules / socket.io / index.js需要socket.io,像这样: module.exports = require('./lib/socket.io'); 这行给我错误错误:找不到模块'./lib/socket.io' 请帮帮我 提前致谢

自动修复损坏的Web链接

我的问题是我的网页中的一些链接被破坏,除非有人报告,否则没有修复。 我可以自动化,使页面中的每一个链接“ping”检查是否活着或find替代的链接? 有没有在服务器端的自动化脚本(PHP左右)来解决在一个页面中断链接?

如何使用islocationOnEdge函数来查找服务器端谷歌地图API的path上/附近的坐标

这个问题是关于寻找你的道路上的特定城市的问题的扩展,但包括所有的细节。 google.maps.geometry.poly.isLocationOnEdge(LatLngOfDbCoordinate,new google.maps.Polyline({path:google.maps.geometry.encoding.decodePath(response.routes[0].overview_polyline)}),0.00001); 1)我可以在服务器端运行这段代码很多(例如:10000)( LatLngOfDbCoordinate存储在数据库中)在JavaScript代码中的JavaScript与Node.JS? 2) 如果是,那么你能告诉我该怎么去做 3)你能告诉我如何执行这个代码通过PHP或与其他类像http://luktek.com/Blog/2011-02-03-google-maps-routeboxer-in-php (从堆栈溢出链接在顶部)? 你能告诉我如何使用上面提到的routeboxer类的isLocationOnEdge()函数吗? 4)有没有其他更简单的方法来使用isLocationOnEdge()或任何其他方法在我不知道的服务器端? 5)服务器端是否有使用函数isLocationOnEdge()使用限制? 由于这是几何库的function,我只能使用这个函数布尔返回值来显示折线上/附近的坐标是否适用于使用限制? 6)这将是有用的路线存储在数据库中的概要折线(原因可能是很长的情况下,大路线),或者我应该每次向谷歌URL服务发送请求开始和目的地坐标,并使用概述折线,我收到作为JSON或XML传入isLocationOnEdge() ? 请说明原因。 请帮忙 提前致谢

保护与PHP应用程序集成的Node.js应用程序

我有一个现有的第三方PHP Web应用程序(ELGG),我想扩展一个Node.js应用程序。 用户在PHP应用程序中通过检查他们提供的凭据来对MySQL数据库进行身份validation。 如何保护对Node.js应用程序的访问而不必重写Node中的validation代码? 有没有办法让用户只有login到PHP应用程序才能访问Node.js应用程序?

节点JS通过URL发送数据

最近我开始用Node JS进行编程,发现它是一个惊人的php替代品。 在PHP中,我用来发送与URL中的数据请求。 类似于: http : //sample.com/public.php? x= helloworld 如何在Node JS中执行类似这样的事情,或者有没有更好的方法来发送数据到节点,而不像在上面的例子中使用url。 此外,我已经注意到,在某些情况下像stackoverflow,查询是不同的,不包括文件名 像/ public?=而不是/public.php?= 这是如何实现的,我一直认为这是与REST有关的东西。 另外,如果你有答案,你可以引导我,如果可以用Node来完成的话,一些学习资源也可以帮助你。

监视各种事情

在我的一个应用程序中,我想要一次监视多种服务,最多只能以一种方式监视。 该应用程序使用NodeJS作为Web服务器,以及WebPack观察器。 还有一个使用Workerman和其他模块的应用程序的PHP部分 – 我想从他们所有人收集统计数据。 对于较小的视图,让我们想象我有两个脚本: app.js和backend.php 。 JS文件是一个小型的网页服务器,可以为网页提供React和东西,而PHP脚本可以作为通过AJAX访问数据库的一种方式,还可以做其他更好的PHP事情。 我现在想做的是收集统计数据。 就像有人连接到nodejs服务器时,我想通过一个名为“请求”的计数器,当通过PHP访问数据库中特定的内容时,我也想推一个计数器。 哪些系统可以让我跨语言收集统计信息? 我的一堆软件是:Redis,MySQL,PHP,NodeJS。

Redis和哨兵通信

我想广播一些事件,如从我的PHP服务器通知客户端。 我希望服务在本地运行,所以我决定和Redis一起去。 所以我安装了服务器并开始设置Laravel和nodejs。 我决定testing我的工作,所以我启动了Redis服务器。 想要查看服务器的function,我使用monitor参数打开控制台。 我看到这个: 你可以告诉我对Redis不太了解。 谁能告诉我这里发生了什么? 这是正常的,它会提高我的服务器的有效载荷?

我如何使用node.js和PHP来请求谷歌浏览器中的客户端js的大查询authentication

在放弃对其他数据库的大量查询之前,我希望有人能够指出我的需求。 我正在Google计算实例上创build一个应用程序,用于访问存储在大查询中的数据。 这是我的理想用户体验: 用户使用他们的浏览器来select与他们想要的数据相关的选项, 一旦完成,用户提交一个表格,并查询相关的bq表格,并将结果发回给用户。 我有一切正常工作,但只有当我用我的谷歌帐户login。 当然,未经身份validation的用户不能访问数据集。 我尝试了一个解决方法,指导用户如何创build一个免费的开发者帐户,以便他们可以访问该网站,但这似乎是非技术用户的严重障碍。 我明白为什么客户端查询不能访问我的大查询帐户,我意识到允许客户端查询意味着我负责他们。 我没关系。 我也理解可用的各种authentication方式,并有一个工作的服务帐户,以及谷歌的官方node.jsauthentication包。 我可以从命令行进行身份validation。 我想要的是一个简单的方法,我可以让用户通过服务器端脚本透明地进行身份validation。 我设想一个php调用命令行运行一个node.js文件,该文件生成一个令牌文件,然后可以由用户的浏览器读取,以便我现有的应用程序代码可以使用,而无需重大重构。 例如,在index.php中: <?php exec("node myAuth.js"); $my_token = file_get_contents("myToken.json"); ?> 也在index.php中: var myToken = '<?php echo $my_token; ?>'; 在myAuth.js(几乎逐字从https://github.com/google/google-auth-library-nodejs ) var GoogleAuth = require('google-auth-library'); var _ = require('lodash'); // Get the environment configured authorization (new GoogleAuth).getApplicationDefault(function(err, authClient) { if (err === null) { […]

UglifyJS不能在Symfony2生产环境中工作

我相信我configuration正确 – 这是我的config.yml: assetic: debug: "%kernel.debug%" use_controller: false node: "/usr/local/bin/node" bundles: [ ] #java: /usr/bin/java filters: uglifyjs2: # the path to the uglifyjs executable bin: "%kernel.root_dir%/Resources/node_modules/.bin/uglifyjs" cssrewrite: ~ 我在本地存储uglifyjs项目,只是为了方便分发。 我正在做以下使用uglifyjs生成所有的JS文件: {% javascripts 'vendor/bower_components/jquery/dist/jquery.min.js' 'vendor/bower_components/bootstrap-sass/assets/javascripts/bootstrap.min.js' 'vendor/bower_components/angular-route/angular-route.min.js' 'vendor/bower_components/underscore/underscore-min.js' 'vendor/bower_components/angular-cookies/angular-cookies.min.js' 'js/test1.js' 'js/test2.js' filter='?uglifyjs2' %} <script src="{{ asset_url }}"></script> {% endjavascripts %} 如果我以开发模式(/app_dev.php)加载页面,它工作正常,只是单独加载文件,但由uglifyjs缩小; 但是如果我尝试在生产中加载它,它将所有这些js文件合并成一个js文件(即a07da66.js)。 我面临的问题是,它试图加载该文件(a07da66.js)时得到404未find错误。 它试图访问它在js/a07da66.js – 似乎在js /默认情况下创build它们。 […]

使用PHP STDIN和proc_open和Node JS命令

我试图利用一个名为can-compile的节点js包,它从ejs文件中读取内容,然后将数据转换为可用和canjs友好的输出。 我试图避免将模板数据保存到服务器上的文件,并使用该文件来转换模板数据。 这是我一直在尝试使用PHP的STDIN / OUT。 编译器将模板文件的名称作为参数读取。 我已经尝试了将模板数据传递给节点命令行的各种方法,但都没有成功。 最终,我试图实现的是能够将未编译的模板数据发送到STDIN / OUTpipe道,并让它从can-compile节点包中返回已编译的代码。 有人可以请指出我应该做的正确的方向。 这里我使用一个小模板的例子(见$ input)。 但是模板大小可以变化到数百行和字符。 $template_name = 'template_'.$template_data['name'].'.ejs'; $can_compiler = "/node_modules/can-compile/bin/can-compile –can 1.1.5 $template_name"; $input = "<img src="/media/<%==category.attrs.image%>" style="width:100%; height:100%;" />"; $cmd = sprintf("node %s",$can_compiler); $descriptorspec = array( 0 => array('pipe','r'), 1 => array('pipe','w'), 2 => array('pipe','w') ); $process = proc_open($cmd, $descriptorspec, $pipes); if (is_resource($process)) { […]