php-general Digest 6 Feb 2013 12:50:29 -0000 Issue 8113

2013-02-06 Thread php-general-digest-help

php-general Digest 6 Feb 2013 12:50:29 - Issue 8113

Topics (messages 320150 through 320152):

Re: how to calculate how much data does each ip address use ?
320150 by: Peet Grobler
320151 by: Sean Greenslade

PHP + PostgreSQL: pg_query not returning the expected result for this (edge) 
case:
320152 by: Peter Ford

Administrivia:

To subscribe to the digest, e-mail:
php-general-digest-subscr...@lists.php.net

To unsubscribe from the digest, e-mail:
php-general-digest-unsubscr...@lists.php.net

To post to the list, e-mail:
php-gene...@lists.php.net


--
---BeginMessage---
On 2013/02/01 4:58 PM, Sean Greenslade wrote:
 This task is not really suited for php. I would suggest looking into Ntop.
 It does exactly what you described.

That's one option.

I use a custom system, with perl and bash scripts collecting data and
saving to rrd databases. php script displaying the images.

Using this on a box with 5 interfaces (3 ethernet, 1 openvpn tunnel, 1
ppp session).

---End Message---
---BeginMessage---
On Tue, Feb 5, 2013 at 10:13 AM, Bulent  Malik bma...@ihlas.net.tr wrote:


 This task is not really suited for php. I would suggest looking into
 Ntop.
 It does exactly what you described.

  Hello
 
  I have  a freebsdbox firewall . also I have some internet customers.
  I want to save how much data they used in a table ( such as mysql
 table ) for each ip address.
 Apache2, php5 and mysql5.5 work on the box.
 
  How can I do it ?  any script or tool.
 
  Thanks

 How can i save in table using ntop ?  is there any document ?


 --
 PHP General Mailing List (http://www.php.net/) To unsubscribe, visit:
 http://www.php.net/unsub.php


Read the man pages. There are sql export options that you can specify on run.

 I could not see any sql options on  the man file of ntop.
 Where is it?




Whoops, my mistake. I was reading the NetFlow documentation and going
off vague memories of older versions of Ntop.

Ntop saves data in RRD files. There are PHP libraries to parse this
data [1]. You could theoretically scrape the RRDs and put them in a
SQL DB, but they may be useful enough on their own if you can parse
them correctly. (Note: I have never personally parsed RRDs manually.
This info was pulled from a simple Google search. YMMV.)

[1] http://www.ioncannon.net/system-administration/59/php-rrdtool-tutorial/

-- 
--Zootboy

Sent from some sort of computing device.
---End Message---
---BeginMessage---

Here's a tricky one:
Versions: I'm using PostgreSQL 9.0.7 and PHP 5.3.8.

First, I have a table bob with two columns: bobid (integer) and bobtext 
(text). The bobid field defaults to a sequence called bob_seq which is just 
a simple counter (1,2,3 etc.)


I can do an INSERT query into bob:

  INSERT INTO bob (bobtext) VALUES ('Hello Bob') RETURNING bobid;

and get the value the sequence has given me for bobid: this works fine using 
both the psql tool and pg_query in PHP.


I can also do an UPDATE query in the same vein:

  UPDATE bob SET bobtext='Hello Bob revisited' WHERE bobid=x RETURNING bobid;

where x is a valid bobid value for an existing record in the table. This 
returns the value of bobid for the updated record which should be the same as 
x and again it works in the psql tool and in pg_query.


Next, I have a VIEW based on bob, called fred. It is simply defined as

  CREATE VIEW fred AS (
SELECT * FROM bob
  );

I have two rules on fred which allow me to alter the view.
The first is used for INSERT into fred, which translates them into INSERT into 
bob:


  CREATE OR REPLACE RULE fred_insert AS
ON INSERT TO fred
DO INSTEAD
  INSERT INTO bob (bobtext) VALUES (NEW.bobtext) RETURNING *
  ;

The second is used for UPDATE on fred, which translates to creating a new 
record in bob and deleting the old record:


  CREATE OR REPLACE RULE fred_update AS
ON UPDATE TO fred
DO INSTEAD (
  INSERT INTO bob (bobtext) VALUES (NEW.bobtext) RETURNING *;
  DELETE FROM bob WHERE bobid=OLD.bobid;
)
  ;

Note that these rules both return all of the fields of the newly inserted bob 
records back up the chain to be accessible to the original query.


Now, I can insert into fred knowing that the rule will handle it:

  INSERT INTO fred (bobtext) VALUES ('Hello Fred') RETURNING bobid;

and that should return the new bobid value of the inserted record (from the 
bob_seq sequence). It still works in the psql tool and in pg_query.


I should also be able to exercise the update rule on fred:

  UPDATE fred SET bobtext='Hello Fred revisited' WHERE bobid=x RETURNING bobid

where x is a valid bobid value for an existing record in the table.
This should insert a new row with a new bobid from the sequence and the new 
bobtext value, delete the row with bobid=x, and return the bobid for the 
new row.


Here's the punchline (at last):
It works in the psql tool.
It doesn't work in pg_query.

?php
  

php-general Digest 7 Feb 2013 01:53:56 -0000 Issue 8114

2013-02-06 Thread php-general-digest-help

php-general Digest 7 Feb 2013 01:53:56 - Issue 8114

Topics (messages 320153 through 320154):

Re: how to calculate how much data does each ip address use ?
320153 by: Aaron Holmes
320154 by: Sean Greenslade

Administrivia:

To subscribe to the digest, e-mail:
php-general-digest-subscr...@lists.php.net

To unsubscribe from the digest, e-mail:
php-general-digest-unsubscr...@lists.php.net

To post to the list, e-mail:
php-gene...@lists.php.net


--
---BeginMessage---

No one has mentioned Cacti yet? It does exactly what Bulent is looking for.

http://cacti.net/

On 2/5/13 6:46 PM, Sean Greenslade wrote:

On Tue, Feb 5, 2013 at 10:13 AM, Bulent  Malik bma...@ihlas.net.tr wrote:



This task is not really suited for php. I would suggest looking into

Ntop.

It does exactly what you described.

Hello

I have  a freebsdbox firewall . also I have some internet customers.
I want to save how much data they used in a table ( such as mysql
table ) for each ip address.
Apache2, php5 and mysql5.5 work on the box.

How can I do it ?  any script or tool.

Thanks

How can i save in table using ntop ?  is there any document ?


--
PHP General Mailing List (http://www.php.net/) To unsubscribe, visit:
http://www.php.net/unsub.php

Read the man pages. There are sql export options that you can specify on run.

I could not see any sql options on  the man file of ntop.
Where is it?




Whoops, my mistake. I was reading the NetFlow documentation and going
off vague memories of older versions of Ntop.

Ntop saves data in RRD files. There are PHP libraries to parse this
data [1]. You could theoretically scrape the RRDs and put them in a
SQL DB, but they may be useful enough on their own if you can parse
them correctly. (Note: I have never personally parsed RRDs manually.
This info was pulled from a simple Google search. YMMV.)

[1] http://www.ioncannon.net/system-administration/59/php-rrdtool-tutorial/



---End Message---
---BeginMessage---
On Wed, Feb 6, 2013 at 11:15 AM, Aaron Holmes aa...@aaronholmes.net wrote:
 No one has mentioned Cacti yet? It does exactly what Bulent is looking for.

 http://cacti.net/


 On 2/5/13 6:46 PM, Sean Greenslade wrote:

 On Tue, Feb 5, 2013 at 10:13 AM, Bulent  Malik bma...@ihlas.net.tr
 wrote:


 This task is not really suited for php. I would suggest looking into

 Ntop.

 It does exactly what you described.

 Hello

 I have  a freebsdbox firewall . also I have some internet customers.
 I want to save how much data they used in a table ( such as mysql
 table ) for each ip address.
 Apache2, php5 and mysql5.5 work on the box.

 How can I do it ?  any script or tool.

 Thanks

 How can i save in table using ntop ?  is there any document ?


 --
 PHP General Mailing List (http://www.php.net/) To unsubscribe, visit:
 http://www.php.net/unsub.php

 Read the man pages. There are sql export options that you can specify on
 run.

 I could not see any sql options on  the man file of ntop.
 Where is it?



 Whoops, my mistake. I was reading the NetFlow documentation and going
 off vague memories of older versions of Ntop.

 Ntop saves data in RRD files. There are PHP libraries to parse this
 data [1]. You could theoretically scrape the RRDs and put them in a
 SQL DB, but they may be useful enough on their own if you can parse
 them correctly. (Note: I have never personally parsed RRDs manually.
 This info was pulled from a simple Google search. YMMV.)

 [1]
 http://www.ioncannon.net/system-administration/59/php-rrdtool-tutorial/



 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php


Neat, I'd never heard of that package before.

-- 
--Zootboy

Sent from some sort of computing device.
---End Message---


[PHP] PHP + PostgreSQL: pg_query not returning the expected result for this (edge) case:

2013-02-06 Thread Peter Ford

Here's a tricky one:
Versions: I'm using PostgreSQL 9.0.7 and PHP 5.3.8.

First, I have a table bob with two columns: bobid (integer) and bobtext 
(text). The bobid field defaults to a sequence called bob_seq which is just 
a simple counter (1,2,3 etc.)


I can do an INSERT query into bob:

  INSERT INTO bob (bobtext) VALUES ('Hello Bob') RETURNING bobid;

and get the value the sequence has given me for bobid: this works fine using 
both the psql tool and pg_query in PHP.


I can also do an UPDATE query in the same vein:

  UPDATE bob SET bobtext='Hello Bob revisited' WHERE bobid=x RETURNING bobid;

where x is a valid bobid value for an existing record in the table. This 
returns the value of bobid for the updated record which should be the same as 
x and again it works in the psql tool and in pg_query.


Next, I have a VIEW based on bob, called fred. It is simply defined as

  CREATE VIEW fred AS (
SELECT * FROM bob
  );

I have two rules on fred which allow me to alter the view.
The first is used for INSERT into fred, which translates them into INSERT into 
bob:


  CREATE OR REPLACE RULE fred_insert AS
ON INSERT TO fred
DO INSTEAD
  INSERT INTO bob (bobtext) VALUES (NEW.bobtext) RETURNING *
  ;

The second is used for UPDATE on fred, which translates to creating a new 
record in bob and deleting the old record:


  CREATE OR REPLACE RULE fred_update AS
ON UPDATE TO fred
DO INSTEAD (
  INSERT INTO bob (bobtext) VALUES (NEW.bobtext) RETURNING *;
  DELETE FROM bob WHERE bobid=OLD.bobid;
)
  ;

Note that these rules both return all of the fields of the newly inserted bob 
records back up the chain to be accessible to the original query.


Now, I can insert into fred knowing that the rule will handle it:

  INSERT INTO fred (bobtext) VALUES ('Hello Fred') RETURNING bobid;

and that should return the new bobid value of the inserted record (from the 
bob_seq sequence). It still works in the psql tool and in pg_query.


I should also be able to exercise the update rule on fred:

  UPDATE fred SET bobtext='Hello Fred revisited' WHERE bobid=x RETURNING bobid

where x is a valid bobid value for an existing record in the table.
This should insert a new row with a new bobid from the sequence and the new 
bobtext value, delete the row with bobid=x, and return the bobid for the 
new row.


Here's the punchline (at last):
It works in the psql tool.
It doesn't work in pg_query.

?php
   $result = pg_query(UPDATE fred SET bobtext='Hello Fred revisited' WHERE 
bobid=42 RETURNING bobid);   // Assume there is a record with bobid==42

   if ($result  pg_numrows($result))
   {
   echo pg_numrows($result).PHP_EOL;
   echo pg_fetch_result($result, 0, 0).PHP_EOL;
   )
?

Tells me there that although the $result resource is valid, there are no rows 
and therefore no result to fetch (PHP Warning:  pg_fetch_result(): Unable to 
jump to row 0 on PostgreSQL result ...)


So: why is the return from the UPDATE rule different to the return from the 
INSERT rule in PHP pgsql?


Thanks for taking the time...

Cheers
Pete





--
Peter Ford, Developer phone: 01580 89 fax: 01580 893399
Justcroft International Ltd.  www.justcroft.com
Justcroft House, High Street, Staplehurst, Kent   TN12 0AH   United Kingdom
Registered in England and Wales: 2297906
Registered office: Stag Gates House, 63/64 The Avenue, Southampton SO17 1XS

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] how to calculate how much data does each ip address use ?

2013-02-06 Thread Aaron Holmes

No one has mentioned Cacti yet? It does exactly what Bulent is looking for.

http://cacti.net/

On 2/5/13 6:46 PM, Sean Greenslade wrote:

On Tue, Feb 5, 2013 at 10:13 AM, Bulent  Malik bma...@ihlas.net.tr wrote:



This task is not really suited for php. I would suggest looking into

Ntop.

It does exactly what you described.

Hello

I have  a freebsdbox firewall . also I have some internet customers.
I want to save how much data they used in a table ( such as mysql
table ) for each ip address.
Apache2, php5 and mysql5.5 work on the box.

How can I do it ?  any script or tool.

Thanks

How can i save in table using ntop ?  is there any document ?


--
PHP General Mailing List (http://www.php.net/) To unsubscribe, visit:
http://www.php.net/unsub.php

Read the man pages. There are sql export options that you can specify on run.

I could not see any sql options on  the man file of ntop.
Where is it?




Whoops, my mistake. I was reading the NetFlow documentation and going
off vague memories of older versions of Ntop.

Ntop saves data in RRD files. There are PHP libraries to parse this
data [1]. You could theoretically scrape the RRDs and put them in a
SQL DB, but they may be useful enough on their own if you can parse
them correctly. (Note: I have never personally parsed RRDs manually.
This info was pulled from a simple Google search. YMMV.)

[1] http://www.ioncannon.net/system-administration/59/php-rrdtool-tutorial/




--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] how to calculate how much data does each ip address use ?

2013-02-06 Thread Sean Greenslade
On Wed, Feb 6, 2013 at 11:15 AM, Aaron Holmes aa...@aaronholmes.net wrote:
 No one has mentioned Cacti yet? It does exactly what Bulent is looking for.

 http://cacti.net/


 On 2/5/13 6:46 PM, Sean Greenslade wrote:

 On Tue, Feb 5, 2013 at 10:13 AM, Bulent  Malik bma...@ihlas.net.tr
 wrote:


 This task is not really suited for php. I would suggest looking into

 Ntop.

 It does exactly what you described.

 Hello

 I have  a freebsdbox firewall . also I have some internet customers.
 I want to save how much data they used in a table ( such as mysql
 table ) for each ip address.
 Apache2, php5 and mysql5.5 work on the box.

 How can I do it ?  any script or tool.

 Thanks

 How can i save in table using ntop ?  is there any document ?


 --
 PHP General Mailing List (http://www.php.net/) To unsubscribe, visit:
 http://www.php.net/unsub.php

 Read the man pages. There are sql export options that you can specify on
 run.

 I could not see any sql options on  the man file of ntop.
 Where is it?



 Whoops, my mistake. I was reading the NetFlow documentation and going
 off vague memories of older versions of Ntop.

 Ntop saves data in RRD files. There are PHP libraries to parse this
 data [1]. You could theoretically scrape the RRDs and put them in a
 SQL DB, but they may be useful enough on their own if you can parse
 them correctly. (Note: I have never personally parsed RRDs manually.
 This info was pulled from a simple Google search. YMMV.)

 [1]
 http://www.ioncannon.net/system-administration/59/php-rrdtool-tutorial/



 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php


Neat, I'd never heard of that package before.

-- 
--Zootboy

Sent from some sort of computing device.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php