Zend Framework

A provider provided by the Zend_Tool_Framework_Manifest_ManifestBadProvider does not implement Zend_Tool_Framework_Provider_Interface

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Blocker Blocker
  • Resolution: Not an Issue
  • Affects Version/s: 1.8.0
  • Fix Version/s: None
  • Component/s: Zend_Tool
  • Labels:
    None

Description

Downloaded the 1.8.0 tar.gz, unpacked the library dir to /usr/share/php/Zend (this is in the include path), copied bin/zf.{php,sh} to /usr/share/php and then did a ln -s /usr/share/php/zf.sh /usr/bin/zf. When running zf, I get:

 
PHP Fatal error:  Uncaught exception 'Zend_Tool_Framework_Manifest_Exception' with message 'A provider provided by the Zend_Tool_Framework_Manifest_ManifestBadProvider does not implement Zend_Tool_Framework_Provider_Interface' in /usr/share/php/Zend/Tool/Framework/Manifest/Repository.php:100                                    
Stack trace:                                                                      
#0 /usr/share/php/Zend/Tool/Framework/Loader/Abstract.php(104): Zend_Tool_Framework_Manifest_Repository->addManifest(Object(Zend_Tool_Framework_Manifest_ManifestBadProvider))                                                                        
#1 /usr/share/php/Zend/Tool/Framework/Client/Abstract.php(101): Zend_Tool_Framework_Loader_Abstract->load()                                                         
#2 /usr/share/php/Zend/Tool/Framework/Client/Abstract.php(192): Zend_Tool_Framework_Client_Abstract->initialize()                                                   
#3 /usr/share/php/Zend/Tool/Framework/Client/Console.php(86): Zend_Tool_Framework_Client_Abstract->dispatch()                                                       
#4 /usr/share/php/zf.php(77): Zend_Tool_Framework_Client_Console::main()          
#5 {main}                                                                         
  thrown in /usr/share/php/Zend/Tool/Framework/Manifest/Repository.php on line 100

At first, I was trying to rebuild the RPM package Fedora provides (which got stuck at 1.7.2) and got the exact same message. My reasoning was that it must be something with my poor packaging skills. Seems not. Anyway, tried to run Zend_Tools tests, all of them passed, FWIW. Also, did some var_dump()-ing and the provider which throws the exception is:

object(ArrayObject)#82 (0) {
}

Activity

Hide
Gabriel Queiroz Silva added a comment -

Same problem here. Using ubuntu jaunty, apache 2.0 and php 5.2.6.

Show
Gabriel Queiroz Silva added a comment - Same problem here. Using ubuntu jaunty, apache 2.0 and php 5.2.6.
Hide
Martin added a comment -

I got the same result

Ubuntu 9.04 - wget'ed zendframework 1.8.0 full - moved it to /usr/share/php/ZendFramework
(/usr/share/php/ZendFramework/library is in the include path)

root@laptop:/var/www# sh /usr/share/php/ZendFramework/bin/zf.sh

Fatal error: Uncaught exception 'Zend_Tool_Framework_Manifest_Exception' with message 'A provider provided by the Zend_Tool_Framework_Manifest_ManifestBadProvider does not implement Zend_Tool_Framework_Provider_Interface' in /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Manifest/Repository.php:100
Stack trace:
#0 /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Loader/Abstract.php(104): Zend_Tool_Framework_Manifest_Repository->addManifest(Object(Zend_Tool_Framework_Manifest_ManifestBadProvider))
#1 /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Client/Abstract.php(101): Zend_Tool_Framework_Loader_Abstract->load()
#2 /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Client/Abstract.php(192): Zend_Tool_Framework_Client_Abstract->initialize()
#3 /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Client/Console.php(86): Zend_Tool_Framework_Client_Abstract->dispatch()
#4 /usr/share/php/ZendFramework/bin/zf.php(77): Zend_Tool_Framework_Client_Console::main()
#5 {main}
thrown in /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Manifest/Repository.php on line 100

Show
Martin added a comment - I got the same result Ubuntu 9.04 - wget'ed zendframework 1.8.0 full - moved it to /usr/share/php/ZendFramework (/usr/share/php/ZendFramework/library is in the include path) root@laptop:/var/www# sh /usr/share/php/ZendFramework/bin/zf.sh Fatal error: Uncaught exception 'Zend_Tool_Framework_Manifest_Exception' with message 'A provider provided by the Zend_Tool_Framework_Manifest_ManifestBadProvider does not implement Zend_Tool_Framework_Provider_Interface' in /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Manifest/Repository.php:100 Stack trace: #0 /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Loader/Abstract.php(104): Zend_Tool_Framework_Manifest_Repository->addManifest(Object(Zend_Tool_Framework_Manifest_ManifestBadProvider)) #1 /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Client/Abstract.php(101): Zend_Tool_Framework_Loader_Abstract->load() #2 /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Client/Abstract.php(192): Zend_Tool_Framework_Client_Abstract->initialize() #3 /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Client/Console.php(86): Zend_Tool_Framework_Client_Abstract->dispatch() #4 /usr/share/php/ZendFramework/bin/zf.php(77): Zend_Tool_Framework_Client_Console::main() #5 {main} thrown in /usr/share/php/ZendFramework/library/Zend/Tool/Framework/Manifest/Repository.php on line 100
Hide
Gabriel Queiroz Silva added a comment -

I have solved it by copying zf.sh and zf.php to the /usr/bin folder. Guess creating the symbolic link was making this error. can't see the actual reason though.

Show
Gabriel Queiroz Silva added a comment - I have solved it by copying zf.sh and zf.php to the /usr/bin folder. Guess creating the symbolic link was making this error. can't see the actual reason though.
Hide
Martin added a comment -

That didnt work here
Same exception

Show
Martin added a comment - That didnt work here Same exception
Hide
Ralph Schindler added a comment -

The problem is that your unit tests are inside of your include_path, and its finding the bad provider unit test. I know this is an issue on some setups, but in the mean time, simply take out the unit tests or run ZF from a non include_path location

-ralph

Show
Ralph Schindler added a comment - The problem is that your unit tests are inside of your include_path, and its finding the bad provider unit test. I know this is an issue on some setups, but in the mean time, simply take out the unit tests or run ZF from a non include_path location -ralph
Hide
Martin added a comment -

So simple, so simple..
And it works perfectly - thanks for the advice!

Show
Martin added a comment - So simple, so simple.. And it works perfectly - thanks for the advice!
Hide
David Caunt added a comment -

Same issue, Fedora Core 7, PHP 5.2.6

Symlinked zf.sh to /usr/bin and copied zf.php to same folder

[user@server bin]$ zf
PHP Fatal error: Uncaught exception 'Zend_Tool_Framework_Manifest_Exception' with message 'A provider provided by the Zend_Tool_Framework_Manifest_ManifestBadProvider does not implement Zend_Tool_Framework_Provider_Interface' in /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Manifest/Repository.php:100
Stack trace:
#0 /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Loader/Abstract.php(104): Zend_Tool_Framework_Manifest_Repository->addManifest(Object(Zend_Tool_Framework_Manifest_ManifestBadProvider))
#1 /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Client/Abstract.php(101): Zend_Tool_Framework_Loader_Abstract->load()
#2 /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Client/Abstract.php(192): Zend_Tool_Framework_Client_Abstract->initialize()
#3 /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Client/Console.php(86): Zend_Tool_Framework_Client_Abstract->dispatch()
#4 /php/includes/ZendFramework-1.8.0/bin/zf.php(77): Zend_Tool_Framework_Client_Console::main( in /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Manifest/Repository.php on line 100

Show
David Caunt added a comment - Same issue, Fedora Core 7, PHP 5.2.6 Symlinked zf.sh to /usr/bin and copied zf.php to same folder [user@server bin]$ zf PHP Fatal error: Uncaught exception 'Zend_Tool_Framework_Manifest_Exception' with message 'A provider provided by the Zend_Tool_Framework_Manifest_ManifestBadProvider does not implement Zend_Tool_Framework_Provider_Interface' in /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Manifest/Repository.php:100 Stack trace: #0 /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Loader/Abstract.php(104): Zend_Tool_Framework_Manifest_Repository->addManifest(Object(Zend_Tool_Framework_Manifest_ManifestBadProvider)) #1 /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Client/Abstract.php(101): Zend_Tool_Framework_Loader_Abstract->load() #2 /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Client/Abstract.php(192): Zend_Tool_Framework_Client_Abstract->initialize() #3 /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Client/Console.php(86): Zend_Tool_Framework_Client_Abstract->dispatch() #4 /php/includes/ZendFramework-1.8.0/bin/zf.php(77): Zend_Tool_Framework_Client_Console::main( in /php/includes/ZendFramework-1.8.0/library/Zend/Tool/Framework/Manifest/Repository.php on line 100
Hide
Colleen R. Dick added a comment -

Same issue on Mac Book pro, ZF v 1.8.3. Copying zf.php and zf.sh to /usr/bin did not solve.
don't understand the comment about taking out the unit tests. Are they referring to the unit tests that come with ZF? I tried temporarily moving them to a subdirectory bt I still got the same error.

Show
Colleen R. Dick added a comment - Same issue on Mac Book pro, ZF v 1.8.3. Copying zf.php and zf.sh to /usr/bin did not solve. don't understand the comment about taking out the unit tests. Are they referring to the unit tests that come with ZF? I tried temporarily moving them to a subdirectory bt I still got the same error.
Hide
Colleen R. Dick added a comment -

ok it worked when I moved the unit tests COMPLETELY out of the include path.

Show
Colleen R. Dick added a comment - ok it worked when I moved the unit tests COMPLETELY out of the include path.
Hide
Ralph Schindler added a comment -

Marking as not an issue. The fix to this is to either a) not include any ZF unit tests in any of your include_paths, or b) make sure to set the environment variable ZEND_TOOL_INCLUDE_PATH to only include the zend framework library (you can do this either in zf.sh, zf.php, or somewhere in your .profile)

-ralph

Show
Ralph Schindler added a comment - Marking as not an issue. The fix to this is to either a) not include any ZF unit tests in any of your include_paths, or b) make sure to set the environment variable ZEND_TOOL_INCLUDE_PATH to only include the zend framework library (you can do this either in zf.sh, zf.php, or somewhere in your .profile) -ralph
Hide
Jamal Fanaian added a comment -

Also, would like to point out, that this error comes up if you symlink the library into your php include_path. When I copied it, instead of using a symlink it started working fine.

Show
Jamal Fanaian added a comment - Also, would like to point out, that this error comes up if you symlink the library into your php include_path. When I copied it, instead of using a symlink it started working fine.

People

Vote (2)
Watch (8)

Dates

  • Created:
    Updated:
    Resolved: