Zend Framework and phpunit strange error [duplicate] - php

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Zend - cannot find PHPUnit/framework.php
I'm getting some strange warnings and errors, and I don't know why, maybe you had this problem too and found a solution.
I'm testing a model
class UsersTest extends PHPUNit_Framework_TestCase {
public function testCanCheckUser(){
$user = Users::getInstance();
$userNotFound = true;
$this->assertFalse($userNotFound);
} }
So here is the error that I'm getting:
PHP Strict Standards: Creating default object from empty value in C:\Users\Lili
\Dropbox\www\_playground\myApp\application\Bootstrap.php on line 207
PHPUnit 3.7.9 by Sebastian Bergmann.
Configuration read from C:\Users\Lili\Dropbox\www\_playground\myApp\tests\phpuni
t.xml
←[41;37mF←[0m
Time: 0 seconds, Memory: 5.50Mb
There was 1 failure:
1) UsersTest::testCanCheckUser
PHP Warning: include_once(PHP\Invoker.php): failed to open stream: No such file
or directory in C:\Users\Lili\Dropbox\www\_playground\myApp\Zend\Loader.php on
line 146
PHP Warning: include_once(): Failed opening 'PHP\Invoker.php' for inclusion (in
clude_path='C:\xampp\php\PEAR\PHPUnit;C:\Users\Lili\Dropbox\www\_playground\opun
y\application/../library;C:\Users\Lili\Dropbox\www\_playground\myApp\application
;C:\Users\Lili\Dropbox\www\_playground\myApp\application/models;C:\Users\Lili\Dr
opbox\www\_playground\myApp\application/../;.;C:\xampp\php\PEAR') in C:\Users\Li
li\Dropbox\www\_playground\myApp\Zend\Loader.php on line 146
PHP Warning: include_once(PHPUnit\Extensions\SeleniumTestCase.php): failed to o
pen stream: No such file or directory in C:\Users\Lili\Dropbox\www\_playground\o
puny\Zend\Loader.php on line 146
PHP Warning: include_once(): Failed opening 'PHPUnit\Extensions\SeleniumTestCas
e.php' for inclusion (include_path='C:\xampp\php\PEAR\PHPUnit;C:\Users\Lili\Drop
box\www\_playground\myApp\application/../library;C:\Users\Lili\Dropbox\www\_play
ground\myApp\application;C:\Users\Lili\Dropbox\www\_playground\myApp\application
/models;C:\Users\Lili\Dropbox\www\_playground\myApp\application/../;.;C:\xampp\p
hp\PEAR') in C:\Users\Lili\Dropbox\www\_playground\myApp\Zend\Loader.php on line
146
PHP Warning: include_once(PHPUnit\Extensions\Story\TestCase.php): failed to ope
n stream: No such file or directory in C:\Users\Lili\Dropbox\www\_playground\opu
ny\Zend\Loader.php on line 146
PHP Warning: include_once(): Failed opening 'PHPUnit\Extensions\Story\TestCase.
php' for inclusion (include_path='C:\xampp\php\PEAR\PHPUnit;C:\Users\Lili\Dropbo
x\www\_playground\myApp\application/../library;C:\Users\Lili\Dropbox\www\_playgr
ound\myApp\application;C:\Users\Lili\Dropbox\www\_playground\myApp\application/m
odels;C:\Users\Lili\Dropbox\www\_playground\myApp\application/../;.;C:\xampp\php
\PEAR') in C:\Users\Lili\Dropbox\www\_playground\myApp\Zend\Loader.php on line 1
46
Failed asserting that true is false.
C:\Users\Lili\Dropbox\www\_playground\myApp\tests\application\models\UsersTest.p
hp:13
←[37;41m←[2KFAILURES!
←[0m←[37;41m←[2KTests: 1, Assertions: 1, Failures: 1.
←[0m←[2K

Here is the solution: Zend - cannot find PHPUnit/framework.php
Or Just copy/paste the files required by the warnings and it will do the job

Related

ERRORS with INCLUDE_ONCE Global Variable PHP

I created a config file that has a variable I want to use as a constant.
<?php
$ROOT_PATH = 'C:/Users/me/Documents/app-qas.com/site';
?>
On a CLASS page where I want to use the variable I added the following before instantiating the CLASS:
include_once("config.php");
$root=$ROOT_PATH;
I made the appropriate scoping changes to the functions in my class as follows:
global $root;
include_once($root."/Library/API/database.inc.php");
When I run my app, it DOES perform all of the data connections it
is designed to do, BUT it STILL returns the following errors:
Warning: include_once(config.php): failed to open stream: No such file
or directory in
C:/Users/me/Documents/app-qas.com/site'\class\Posting.class.php on
line 5
Warning: include_once(): Failed opening 'config.php' for inclusion
(include_path='.;C:\php\pear') in
C:/Users/me/Documents/app-qas.com/site'\class\Posting.class.php on
line 5
Notice: Undefined variable: ROOT_PATH in
C:/Users/me/Documents/app-qas.com/site'\class\Posting.class.php on
line 6
Warning: include_once(/Library/API/database.inc.php): failed to open
stream: No such file or directory in
C:/Users/me/Documents/app-qas.com/site'\class\Posting.class.php on
line 112
Warning: include_once(): Failed opening
'/Library/API/database.inc.php' for inclusion
(include_path='.;C:\php\pear') in
C:/Users/me/Documents/app-qas.com/site'\class\Posting.class.php on
line 112
Warning: include_once(/Library/API/database.inc.php): failed to open
stream: No such file or directory in
C:/Users/me/Documents/app-qas.com/site'\class\Posting.class.php on
line 112
Warning: include_once(): Failed opening
'/Library/API/database.inc.php' for inclusion
(include_path='.;C:\php\pear') in
C:/Users/me/Documents/app-qas.com/site'\class\Posting.class.php on
line 112
If I comment out the include and hard code the $root it runs like before BUT it DOES NOT throw any errors:
#include_once("joblaunch.php");
#$root=$ROOT_PATH;
$root='C:/Users/me/Documents/app-qas.com/site';
I don't understand why it runs and throws errors when getting the variable from the config.php but runs and doesn't throw an error when hard coding the path.
if you define a constant instead of a variable, this problem should be solved,
definition
old:
$ROOT_PATH = 'C:/Users/me/Documents/app-qas.com/site';
new:
define('ROOT_PATH', 'C:/Users/me/Documents/app-qas.com/site');
usage
old:
$root=$ROOT_PATH;
new:
$root = ROOT_PATH;

PHP Restler Server 500 Error

I've installed restler using composer. I've set up a virtual host for it. I'm able to go to my localhost in my browser and it shows some informational pages but as soon as I try one of the APIs I get a server 500 error.
My PHP logs say:
Function main
Error Type E_ERROR
Source File /public/examples/_001_helloworld/index.php : 18
Error String Class 'Luracast\Restler\Restler' not found
I'm using the example code straight out of the project. It looks like it has the require_once '../../../vendor/restler.php' and it seems to still have 500 errors.
I'm using PHP 5.4.16 on a Mac.
Update
Here are all of my logs:
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: include(/Users/ChrisLondon/composer/autoload_classmap.php): failed to open stream: No such file or directory in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 432
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: include(): Failed opening '/Users/ChrisLondon/composer/autoload_classmap.php' for inclusion (include_path='.:/usr/local/zend/share/ZendFramework/library:/usr/local/zend/share/pear:/opt/local/lib/php') in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 432
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: include(/Users/ChrisLondon/composer/autoload_namespaces.php): failed to open stream: No such file or directory in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 432
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: include(): Failed opening '/Users/ChrisLondon/composer/autoload_namespaces.php' for inclusion (include_path='.:/usr/local/zend/share/ZendFramework/library:/usr/local/zend/share/pear:/opt/local/lib/php') in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 432
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: array_values() expects parameter 1 to be array, boolean given in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 154
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: array_merge(): Argument #2 is not an array in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 155
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: array_merge(): Argument #1 is not an array in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 155
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: array_map(): Argument #2 should be an array in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 166
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: array_filter() expects parameter 1 to be array, null given in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 166
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: natsort() expects parameter 1 to be array, null given in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 167
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: array_unique() expects parameter 1 to be array, null given in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 170
[05-Sep-2013 17:05:09 America/Denver] PHP Warning: implode(): Invalid arguments passed in /Users/ChrisLondon/personal/SuperfyMe/vendor/Luracast/Restler/AutoLoader.php on line 170
[05-Sep-2013 17:05:09 America/Denver] PHP Fatal error: Class 'Luracast\Restler\Restler' not found in /Users/ChrisLondon/personal/SuperfyMe/public/examples/_001_helloworld/index.php on line 19
It seems like it's trying to find the autoload class here: /Users/ChrisLondon/composer/autoload_classmap.php but the file is actually here: /Users/ChrisLondon/personal/SuperfyMe/vendor/composer/autoload_classmap.php
Solved my issue.
It turns out because I have a folder named composer/ that happens to be two folders up from where the Restler app sits it ruins the Restler autoloader. To solve the issue one needs to do one of the following:
1) Don't have any folder named composer/ two folders up from where the Restler app resides
2) Modify the Restler autoloader to skip the folder (at the time of this post you could comment out line 138 of /vendor/Luracast/Restler/Autoloader.php)
A more elegant solution has been proposed by me on GitHub:
Issue: https://github.com/Luracast/Restler/issues/195
Pull Request: https://github.com/Luracast/Restler/pull/196
By the time someone else finds this post hopefully the issue will be resolved in future versions of Restler.

pChart - running scripts as www-data doesn't work

So I'm having trouble running PHP scripts for pChart. Running them as the user who created them works fine, but if I sudo to www-data, I get these errors:
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d
/mcrypt.ini on line 1 in Unknown on line 0
PHP Warning: include(/usr/lib/pchart/class/pDraw.class.php): failed to open stream: Permission denied in /usr/share/phpmyadmin/test.php on line 4
PHP Warning: include(): Failed opening '/usr/lib/pchart/class/pDraw.class.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /usr/share/phpmyadmin/test.php on line 4
PHP Warning: include(/usr/lib/pchart/class/pImage.class.php): failed to open stream: Permission denied in /usr/share/phpmyadmin/test.php on line 5
PHP Warning: include(): Failed opening '/usr/lib/pchart/class/pImage.class.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /usr/share/phpmyadmin/test.php on line 5
PHP Warning: include(/usr/lib/pchart/class/pData.class.php): failed to open stream: Permission denied in /usr/share/phpmyadmin/test.php on line 6
PHP Warning: include(): Failed opening '/usr/lib/pchart/class/pData.class.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /usr/share/phpmyadmin/test.php on line 6
PHP Fatal error: Class 'pData' not found in /usr/share/phpmyadmin/test.php on line 10
Does anyone have any idea what permissions or groups I'd need to change to get this working? I've tried changing everything mentioned in the output above to 777 but it's still happening.
Ok, it was permissions, though it's not clear which ones yet. It started working when I changed the pChart2.1.3 folder permissions to 777. Now I can tidy up.

Fatal error: Call to undefined function geoip_open()

all goes well suddenly i dont know why a fatal error occurred can any one please tell me the solution ???
Warning: include(lang.php) [function.include]: failed to open stream: Operation not permitted in /var/httpdocs/dev52/include.php on line 59
Warning: include() [function.include]: Failed opening 'lang.php' for inclusion (include_path='.:') in /var/httpdocs/dev52/include.php on line 59
Warning: include(lang2.php) [function.include]: failed to open stream: Operation not permitted in /var/httpdocs/dev52/include.php on line 61
Warning: include() [function.include]: Failed opening 'lang2.php' for inclusion (include_path='.:') in /var/httpdocs/dev52/include.php on line 61
Warning: include_once(inc.php) [function.include-once]: failed to open stream: Operation not permitted in /var/httpdocs/dev52/include.php on line 265
Warning: include_once() [function.include]: Failed opening 'inc.php' for inclusion (include_path='.:') in /var/httpdocs/dev52/include.php on line 265
Fatal error: Call to undefined function geoip_open() in /var/httpdocs/dev52/include.php on line 266
I would suggest you contact your webhost. If everything was working and it suddenly stops working, especially on a widely-used package like phpMyAdmin, it's more than likely someone changed a configuration setting and screwed it up.
If this doesn't help, or if you own the server yourself, try reinstalling phpMyAdmin.
This sometimes happens with nested includes, check to see if there are any include(); statements in lang.php and if so then include these files directly.

Cant get the zend loader to load classes only under wamp

I'm trying out the zend framework classes for the first time. I am interested in using some of the individual classes for now.
Reading the documentation and some other q's here and in blogs I've tried three ways to load the classes
//attempt 1 - using zend loader
require_once('library\Zend\Loader.php');
Zend_Loader::loadClass('Zend_Date');
//attempt 2 - direct class load
require_once('library\Zend\Date.php');
// attempt 3 - auto load
set_include_path('D:\wamp\www\testPages\zend_test\library\Zend' . PATH_SEPARATOR . get_include_path());
require_once 'Loader\Autoloader.php';
$date = new Zend_Date();
// Output of the desired date
print $date->get();
my folder structure is:
zend_test(folder)
-- testLoad.php (the above code lives there)
-- library(folder)
--- zend(doler)
---- (the zend libs and sub folders)
I get the following error messages:
attempt 1
Warning: include(Zend\Date.php) [function.include]: failed to open stream: No such file or directory in D:\wamp\www\testPages\zend_test\library\Zend\Loader.php on line 83
Warning: include() [function.include]: Failed opening 'Zend\Date.php' for inclusion (include_path='.;C:\php5\pear') in D:\wamp\www\testPages\zend_test\library\Zend\Loader.php on line 83
Warning: require_once(Zend/Exception.php) [function.require-once]: failed to open stream: No such file or directory in D:\wamp\www\testPages\zend_test\library\Zend\Loader.php on line 87
Fatal error: require_once() [function.require]: Failed opening required 'Zend/Exception.php' (include_path='.;C:\php5\pear') in D:\wamp\www\testPages\zend_test\library\Zend\Loader.php on line 87
attempt2
Warning: require_once(Zend/Date/DateObject.php) [function.require-once]: failed to open stream: No such file or directory in D:\wamp\www\testPages\zend_test\library\Zend\Date.php on line 25
Fatal error: require_once() [function.require]: Failed opening required 'Zend/Date/DateObject.php' (include_path='.;C:\php5\pear') in D:\wamp\www\testPages\zend_test\library\Zend\Date.php on line 25
atempt3
Warning: require_once(Zend/Loader.php) [function.require-once]: failed to open stream: No such file or directory in D:\wamp\www\testPages\zend_test\library\Zend\Loader\Autoloader.php on line 24
Fatal error: require_once() [function.require]: Failed opening required 'Zend/Loader.php' (include_path='D:\wamp\www\testPages\zend_test\library\Zend;.;C:\php5\pear') in D:\wamp\www\testPages\zend_test\library\Zend\Loader\Autoloader.php on line 24
Am i missing something?
Your include path should read:
include_path='D:\wamp\www\testPages\zend_test\library;.;C:\php5\pear
When it tries to load the class Zend_Date it looks for a folder called Zend in the include path, with a file called Date.php in it.
All 3 of your methods should work with this corrected, and I recommend attempt 3.
used method 3 and did this to get it working:
set_include_path('D:/wamp/www/zendTest/library/');
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader::loadClass('Zend_Date'); //or whatever zen class
in php.ini remove ";" before line include_Path and restart your wamp!

Categories